
Firstname
18.09.2018
07:23:49
Ну а теперь серьезный вопрос
Разве auto не источник проблем?

Vladislav
18.09.2018
07:24:04

Evgeniy
18.09.2018
07:24:25

Firstname
18.09.2018
07:24:48
каких
При компиляции можно пропустить ошибку

Google

Firstname
18.09.2018
07:25:04
Auto уход к динамической типизации скорее

Евгений
18.09.2018
07:25:10

Evgeniy
18.09.2018
07:25:14

Vladislav
18.09.2018
07:25:17

Firstname
18.09.2018
07:25:36
Ну выше ж
Я с этим итератором знатно помучался
Пока понял, что там и как
Заметьте в h все auto

Viacheslav
18.09.2018
07:26:49

Firstname
18.09.2018
07:26:50
Там стояли delete но мб их не выгрузил

Vladislav
18.09.2018
07:27:23

Viacheslav
18.09.2018
07:27:38

Firstname
18.09.2018
07:27:52
Ну поясните нубу плез

Google

Евгений
18.09.2018
07:28:34

Firstname
18.09.2018
07:29:41
auto a = new что-то
A = new что то другое как пример
Мб даже не тут
Но я намечался с ними в insertall где итератор

Viacheslav
18.09.2018
07:36:12
Ну поясните нубу плез
Во-первых, динамически выделять контейнеры в тестах вообще смысла нет, внутри аллокатор этим занимается, а деструктор почистит, что полагается. Гуглить в сторону RAII.

Firstname
18.09.2018
07:48:18
Ну +- я знаю что это такое
По крайней мере в общем
Что значит динамический выделять контейнеры?

Viacheslav
18.09.2018
07:49:07
auto *test = new std::vector<int>(); писать не надо.

Насибуллин
18.09.2018
07:49:10
Выделять в динам. память

Александр
18.09.2018
07:49:44

Firstname
18.09.2018
07:49:55
Ну понятно что можно не юзать кучу
Но простите как дебажить память?
Без new

Александр
18.09.2018
07:50:31

Firstname
18.09.2018
07:51:06

Александр
18.09.2018
07:51:09

Firstname
18.09.2018
07:51:30
Если без new то да сама почиститься

Насибуллин
18.09.2018
07:51:31
Авто не скрывает от тебя тип
Всегда можно его вывести с помощью деклвал

Google

Александр
18.09.2018
07:51:51

Firstname
18.09.2018
07:51:52

Насибуллин
18.09.2018
07:51:58
Или decltype

Александр
18.09.2018
07:52:15

Насибуллин
18.09.2018
07:52:24
Есть очень просто объяснение
Из мира мл

Firstname
18.09.2018
07:52:45
Не ну в плане, мы до компиляции не знаем что в auto подставят

Насибуллин
18.09.2018
07:52:47
Если типы присутствуют в программе то она типизированная
Если в рантайме - то бестиповая

Александр
18.09.2018
07:53:05

Насибуллин
18.09.2018
07:53:31
Именно типы присутствуют в программе , пусть и выводные в случае м авто
*с auto

Firstname
18.09.2018
07:53:52
Ну auto это синтаксический сахар для компилятора фактический

Насибуллин
18.09.2018
07:54:22
Нет, программист не всегда указывает такой же тип что и авто
Это не только сахар но еще и думалка за тебя

Firstname
18.09.2018
07:54:44

Александр
18.09.2018
07:55:15
И ему оно и не нужно

Евгений
18.09.2018
07:55:47

Firstname
18.09.2018
07:55:47
Ну если мне руками их удалять придется?

Google

Александр
18.09.2018
07:56:45
Стандартный вектор же работает и на куче, и в стеке прекрасно. А его внутренности почти всегда в куче

Насибуллин
18.09.2018
07:57:38

Firstname
18.09.2018
07:58:41

Александр
18.09.2018
07:58:58

Насибуллин
18.09.2018
07:59:15
Он имеет в виду коллекции по моему
Под словом присоединил

Александр
18.09.2018
07:59:23
А я про деревья подумал

Firstname
18.09.2018
07:59:54

Евгений
18.09.2018
08:00:12

Firstname
18.09.2018
08:00:14
У меня древо в древе создаётся и присоединяется к текущему

Александр
18.09.2018
08:00:33
Думай о них, как о разных классах

Firstname
18.09.2018
08:00:44
Ммм подробнее
Что это такое?
Как я могу думать об одном классе
Если они одинаковые?

Александр
18.09.2018
08:01:24
Ну написал ты left = new T;, какая разница, T - такой же тип или другой? В деструкторе текущего типа в любом случае надо сделать delete left;

Firstname
18.09.2018
08:01:59
Не в плане я написал left = root
Где root это новое древо
Которое я через new создал

Александр
18.09.2018
08:02:27
Ага. Тогда да, я тебя понял.

Google

Firstname
18.09.2018
08:02:29
То что ты написал есть

Александр
18.09.2018
08:02:55
Тогда ты создал извне, передал владение внутрь. Тогда нужно извне new, не спорю, но это плохая практика

Firstname
18.09.2018
08:03:29
Ну из вне не могу:( я не знаю что там происходит

Александр
18.09.2018
08:04:12
Я перестал понимать что-либо без кода


Firstname
18.09.2018
08:04:50
bool insertAll(iter begin, iter end) {
//std::sort(begin, end, std::less<T>());
auto *tmp = new SimpleSearchTree<T>();
int b = 100;
for (auto i = begin; i != end; i++) {
tmp->insert(*i);
if ((tmp->size != 0) && (tmp->size % b == 0)) {
if (root == nullptr) {
root = tmp->root;
} else {
Node<T> *const node = getParent(tmp->root->getElement(), root);
if (node->getElement() > tmp->root->getElement()) {
node->setLeft(tmp->root);
tmp->root->setParent(node);
} else {
node->setRight(tmp->root);
tmp->root->setParent(node);
}
}
size += (tmp->size);
tmp = new SimpleSearchTree<T>();
}
}
if (root == nullptr) {
root = tmp->root;
} else {
if (tmp->size != 0) {
Node<T> *const node = getParent(tmp->root->getElement(), root);
if (node->getElement() > tmp->root->getElement()) {
node->setLeft(tmp->root);
tmp->root->setParent(node);
} else {
node->setRight(tmp->root);
tmp->root->setParent(node);
}
}
}
size += (tmp->size);
return true;
}
Правда с телефона это невозможно читать


Крис
18.09.2018
08:05:21


Firstname
18.09.2018
08:05:30
Можно, го?

Насибуллин
18.09.2018
08:06:16
У него insert(*t) с разыменованием. По моему это уже не поинтер
А что за канал supapro?

Firstname
18.09.2018
08:06:42
Insert по значению принимает

Kirill
18.09.2018
08:06:44

Крис
18.09.2018
08:06:44

Igor
18.09.2018
08:07:19

Dmitry
18.09.2018
08:14:48
кто-нибудь использует в своей работе qt creator?

Firstname
18.09.2018
08:15:19

Igor
18.09.2018
08:15:36

Stanislav
18.09.2018
08:16:29


Igor
18.09.2018
08:17:54

Ilia
18.09.2018
08:19:47