@ProCxx

Страница 339 из 2477
Kirill
18.10.2016
18:36:33
Было три секции: общие вопросы по языку, многопоточность и алгоритмы.

С первыми двумя я справился, как мне кажется, отлично.

А с третьей облажался.

Во второй секции, кстати, надо было кроме теоретических вопросов написать shared_ptr

Google
Kirill
18.10.2016
18:38:37
Что?

Artem
18.10.2016
18:39:18
А с третьей облажался.
Почитай таки книжку)

Kirill
18.10.2016
18:39:58
Да что толку, если соображалка еще нужна.

Artem
18.10.2016
18:40:59
Очень много толку, соображалке нужны проработанные типовые решения для стандартных подзадач

Stanislav
18.10.2016
18:41:02
Да что толку, если соображалка еще нужна.
ну новые хитрые алгоримты не так часто придумывают

главное оценить сложность

Artem
18.10.2016
18:41:15
Из которых она будет строить итоговое решение

Stanislav
18.10.2016
18:41:45
а то вдруг у тебя там 6 вложенных циклов

Kirill
18.10.2016
18:43:04
главное оценить сложность
Вот с этим проблем вообще не было. :)

Artem
18.10.2016
18:44:09
Конечно

Два бегунка

Google
Artem
18.10.2016
18:44:27
В книжке есть

Kirill
18.10.2016
18:44:53
Не представляю задачу, в которой это может понадобиться.

Artem
18.10.2016
18:45:54
Люди делают с графами много странных вещей

Kirill
18.10.2016
18:46:28
Не надо обощать односвязный список на граф. :)

Artem
18.10.2016
18:46:47
Почему? Метод обращается на граф

Обобщается

Kirill
18.10.2016
18:47:04
Как же?

Artem
18.10.2016
18:48:39
В смысле как? Ну при ветвлении идем во всех сыновей и менеджим много указателей сразу.

Kirill
18.10.2016
18:49:55
Т.е. количество указтелей будет постоянно расти?

Artem
18.10.2016
18:50:30
Ну да

Kirill
18.10.2016
18:52:34
И как же тут сложность оценить? Ведь она будет зависеть от связности графа.

kapkapbopoh
18.10.2016
18:55:49
Что ещё спрашивали?)

Kirill
18.10.2016
18:57:31
Ну еще была задача про случайный выбор из множества без повторов и с учетом приоритетов

Есть множество объектов типа T. Для каждого из них задан его приоритет в виде целого числа. Нужно случайно выбрать k элементов из него так, чтобы они не повторялись и так, чтобы учесть приоритеты.

Artem
18.10.2016
19:01:20
И как же тут сложность оценить? Ведь она будет зависеть от связности графа.
Со сложностью не очень понятно, да. Будет зависеть

Приоритеты это что?

Вероятность, что элемент окажется в итоговой выборке?

Kirill
18.10.2016
19:03:45
Для каждого элемента задано число от 1 до 1000. Чем больше это число, тем больше должна быть вероятность его выбора.

Artem
18.10.2016
19:07:08
Типа складываем все приоритеты, тыкаем рандомно в число, берем попавший элемент, сдвигаем на его приоритет?

Kirill
18.10.2016
19:07:57
Что значит "сдвигаем на его приоритет"?

Google
Artem
18.10.2016
19:08:56
Храним позицию и сколько сдвинули, уменьшаем число

Kirill
18.10.2016
19:11:39
У меня уже голова ватная. :) Не соображаю. Я смог предложить дурацкое решение с созданием копий объектов согласно приоритету. Но у него очень плохая эффективность. А в итоге правильный ответ это построить дерево сумм приоритетов.

Artem
18.10.2016
19:13:45
И за логарифм обновлять типа, ну ок да

Подумаю, сводится ли мое решение к этому

Lev
18.10.2016
19:21:14
есть какой-то guideline по тому как назыать переменные ?
венгерская нотация. сперва от неё тошнит, а потом не понимаешь, как без неё вообще можно жить. а потом, когда от неё на пяток-десяток лет отойдёшь - видишь, что она корявенька, но резонна. )

m_pchFileName =)

grinchfox
18.10.2016
21:21:44
Ребят, никто последней студией не собирал thrift ?

Я просто не до конца понимаю какую версию openssl он хочет

Ned Ogl
19.10.2016
03:35:16
Нубский вопрос: в хедере объявлен шаблонный класс, почему я не могу в срр файле реализовать его конструктор?

Victor
19.10.2016
03:38:37
может в реализации надо убрать шаблонизаторы, те оставить их только в хидере

хотя я не увэвэен)

Ned Ogl
19.10.2016
03:38:55
в реализации как раз-таки нет шаблонизаторов

Ned Ogl
19.10.2016
03:38:58
надо попробовать

matrixlib.cpp:3:23: ошибка: некорректное использование имени шаблона «Matrix» без списка аргументов template <typename T> Matrix::Matrix(int _rows, int _cols){}

народ, кто выручит выручит прогера-проходимца?

Stanislav
19.10.2016
04:01:10
проходимцев только за деньги

Ned Ogl
19.10.2016
04:04:08
ну, я самый бедный из проходимцев

короче, че делать с этой херотой? как нормально реализовать конструктор?

Вот код класса: template <typename T> class Matrix { private: int rows, cols; T *data; public: Matrix(int _rows, int _cols); ~Matrix(); };

T3ch
19.10.2016
04:08:40
Шаблонный класс должен быть целиком в h файле, как declaration, так и definition

Google
Ned Ogl
19.10.2016
04:09:05
orly?

вот ведь обидно

а почему так? чем это обусловлено?

T3ch
19.10.2016
04:10:27
На момент компиляции компилятор ничего не знает о параметризации темплейта

А вот в конкретном месте, где будет определён Шаблонный параметр - компилятор сможет подставить параметр и скомпилять класс.

Ned Ogl
19.10.2016
04:12:45
хорошо, я не могу даже нормально объявить конструктор. чего он хочет? неважно даже, в одном файле или нет

или прям в классе реализовывать?

T3ch
19.10.2016
04:13:10
Нет, можно не в классе

Какая сигнатура конструктора в реализации вне класса? Скорее всего с этим проблема

Ned Ogl
19.10.2016
04:15:01
вот класс

Admin
ERROR: S client not available

Ned Ogl
19.10.2016
04:15:01
Вот код класса: template <typename T> class Matrix { private: int rows, cols; T *data; public: Matrix(int _rows, int _cols); ~Matrix(); };

сигнатура такая же, точь-в-точь, копипаста

объявляю Matrix::Matrix(int _rows, int _cols){}

T3ch
19.10.2016
04:16:09
А темлейт куда делся?)

Ned Ogl
19.10.2016
04:16:13
ошибка: In file included from test.cpp:2:0: ./matrixlib.h:15:1: ошибка: некорректное использование имени шаблона «Matrix» без списка аргументов Matrix::Matrix(int _rows, int _cols){} ^~~~~~

T3ch
19.10.2016
04:16:45
Ну, явно же ругается

Ned Ogl
19.10.2016
04:16:54
вот с темплейтом

я лично не вижу проблем

T3ch
19.10.2016
04:21:15
Заюзай реализацию прямо в классе, сейчас нет возможности проверить

Google
Ned Ogl
19.10.2016
04:25:18
а ларчик просто открывался

Nikolay
19.10.2016
04:45:46
Таки как он открылся? )

Egor
19.10.2016
04:57:06
Во второй секции, кстати, надо было кроме теоретических вопросов написать shared_ptr
а что в этом сложного? В простейшем варианте - структура в памяти с двумя счётчиками и указателем на данные. По обнулению первого счётчика данные удаляются, по обнулению обоих - удаляется структура.

Таки как он открылся? )
наверняка как-нибудь так: template <typename T> class Matrix { private: int rows, cols; T *data; public: Matrix(int _rows, int _cols): rows ( _rows ) , cols ( _cols ) { data = new T[rows * cols ]; } ~Matrix() { delete[] data; } };

Ned Ogl
19.10.2016
05:59:07
Таки как он открылся? )
template <class T> Matrix<T>::Matrix(int _rows, int _cols): rows(_rows), cols(_cols){ data = new T[rows*cols]; }

Забыл <T> после Matrix

Новый вопрос: есть ли способ разрушить объект на момент создания? То есть, в рантайме вызывается конструктор, который проверяет корректность входных данных, и если встречается ошибка, нужно порушить объект. Из ит риал?

Или только аварийная остановка программы?

Или это вообще bad style?

Alex Фэils?︙
19.10.2016
06:16:40
throw

Ned Ogl
19.10.2016
06:17:19
Кстати, почему парятся людие о засранной памяти, delete, итд, если система отлавливает эти ситуации и при завершении программы попросту помещает страницы в список свободных?

Ned Ogl
19.10.2016
06:19:48
А если у тебя сервак который работает по несколько месяцев
Ось, тем паче серверная, должна быть к этому готова. Если прога постоянно что-то создаёт и забывает стирать, засирая всю память, включается статистический сборщик мусора, не?

Блядь. Это супапро
Я всё понимаю, но я задаю вопрос более широкий, чем "зачем new delete". Это уже из области моего любимого osdev;)

Ned Ogl
19.10.2016
06:21:55
А как она узнает, что твой быдлокод не будет использовать этот кусок памяти? Никак
Так ведь статистика обращений к страницам. Как узнаёт сборщик джавы? Отсутствие ссылок на объект, например.

Плюшка
19.10.2016
06:23:13
А ещё жава тормозная

Страница 339 из 2477