
Egor
17.02.2018
08:53:51
способ обсуловлен объективными причинами, а не желанием сделать так или так

Anatoly
17.02.2018
08:56:53
prefer - предпочитаем

Egor
17.02.2018
08:58:08
и всё же это не спонтанное решение

Google

Anatoly
17.02.2018
08:59:44
если заголовочные файлы не связаны с хаками - порядок включения не имеет значения и относится к вопросам стиля.
а если один заголовочный файл полагается на наличие в цепочке включение уже включенного ранее файла - это расстрел

Egor
17.02.2018
09:01:10
если хедер использует <вектор> - надо включать вектор везде в .цпп или один раз в .х ?

Anatoly
17.02.2018
09:02:31
если заголовочный файл определяет сущность требующую полное определение vector там и включаешь. на самом деле, не понял к чему ты ведешь.

Igor
17.02.2018
09:03:25

Эдвард
17.02.2018
09:45:53

Berkus
17.02.2018
09:57:19

Ilia
17.02.2018
11:35:53

Дед Пегас
17.02.2018
11:54:52
Инклуды лучше в спп

Vsevolod
17.02.2018
11:59:37

Google

Ilia
17.02.2018
12:33:11
Ну да редко. В профессиональном коде, не у студентов
Кстати про include...
Если кто найдет документацию по Rational Rose, там в документации была очень хорошая классификация видов связей классов и заголовочных файлов.
Мне не воспроизвести...

Berkus
17.02.2018
13:07:02

Ilia
17.02.2018
13:27:45
Это книга?
Сейчас поищу...

Berkus
17.02.2018
13:30:18
у него добрых пол-книги посвящено правильному порядку инклюдов и их взаимосвязи с классами и компонентами

Санжар
17.02.2018
13:33:46

Ilia
17.02.2018
13:35:04
А что-то нету её в нашей коллекции...

Andrey
17.02.2018
13:35:46
Large Scale C++?

Игорь
17.02.2018
14:25:50

Berkus
17.02.2018
14:26:40

Ilia
17.02.2018
14:32:03
Я помню, но не нашел

Berkus
17.02.2018
14:36:04
в супапро вот было
#books

Andrey
17.02.2018
14:37:27
Анатолий же вон выше кинул уже

Anatoly
17.02.2018
14:39:06
pdf поудобочитаемей будет

Berkus
17.02.2018
14:52:29
там хренового качества пдф если я правильно помню
рекомендую бумажную версию, она довольно неплохая)

pavel
17.02.2018
17:06:58
struct Cust {
int x = 0;
};
int main() {
Cust a = {0};
return 0;
}
>>>> g++ -std=c++11
Почему оно собирается только если выкинуть = 0 из структуры?

Yaroslav
17.02.2018
17:09:07
электронные книги на комп, эт вообще очень странно, особо нет нормальных приложений для чтения, был акробат (из тех что знаю) и xodo, остановился на 2

Google

Yaroslav
17.02.2018
17:09:07
pdf поудобочитаемей будет
про djvu, вообще не понял прикола

Дмитрий
17.02.2018
17:10:09

pavel
17.02.2018
17:10:35
Нет ничего не POD-ного, никаких там выделений памяти и прочего херобаза.

Дмитрий
17.02.2018
17:11:27

pavel
17.02.2018
17:11:47

Yaroslav
17.02.2018
17:13:57
а оно по стандарту разве не должно быть равно 0?
struct Cust {
int x = 0;
};
int main() {
Cust a = {0};
return 0;
}
>>>> g++ -std=c++11
Почему оно собирается только если выкинуть = 0 из структуры?

Дмитрий
17.02.2018
17:14:36
На стиль пока похрен, интересует принцип.
Не обязано)
Ну ок, в конструкторе есть логика у тебя. Тогда или надо вводить понятие "конструкторы есть, но они тупые, поэтому писать инициализацию руками всё ещё можно", или сказать "раз ты пишешь хоть какой-то позаботься о том, что твоя логика соблюдается"

Xessao
17.02.2018
17:14:50

Yaroslav
17.02.2018
17:15:25

pavel
17.02.2018
17:15:38
Нет, по стандарту быть 0 оно не обязано.
Непонятно почему = 0 считается таким сложным конструктором, который прямо таки отменяет POD-ность структуры.

Xessao
17.02.2018
17:16:13
так?
Ага. Если на телефоне, то можно свайп влево сообщения заместо тапа.

Yaroslav
17.02.2018
17:16:24

pavel
17.02.2018
17:17:35

Yaroslav
17.02.2018
17:18:14

pavel
17.02.2018
17:18:26

Google

Дмитрий
17.02.2018
17:18:37

Xessao
17.02.2018
17:24:01

Admin
ERROR: S client not available

Yaroslav
17.02.2018
17:25:35
нууу, почему бы и нет.)

Igor
17.02.2018
17:28:21

Aliaksei
17.02.2018
17:31:17

Ilia
17.02.2018
17:36:18

Yaroslav
17.02.2018
17:37:32

Ilia
17.02.2018
17:38:21
А я что у тебя Назарбаев...

Yaroslav
17.02.2018
17:39:02
.)

Xessao
17.02.2018
17:59:31

Aidar
17.02.2018
18:02:35
на цппреф ничего противоречещего не нашел

Xessao
17.02.2018
18:04:55
этот пейпер тут причем?
Притом, что там "New Rules for auto deduction from braced-init-list". Я просто для информации приложил, не более.

Aidar
17.02.2018
18:05:16

Xessao
17.02.2018
18:05:33
Где "там"?

Aidar
17.02.2018
18:05:41

Delinkvent
17.02.2018
18:05:52
note: candidate constructor (the implicit copy constructor) not
viable: no known conversion from 'int' to 'const Cust' for 1st argument
это clang

Xessao
17.02.2018
18:07:10
там ваще нет авто
Первая ссылка в гугле.
https://stackoverflow.com/questions/4118025/brace-enclosed-initializer-list-constructor

Google

Aidar
17.02.2018
18:07:56
это агрегатная инициализация
а тут явно написано no default member initializers на cppref
до c++14

pavel
17.02.2018
18:09:30

Xessao
17.02.2018
18:20:38
это агрегатная инициализация
Которая не может завершиться удачно из-за того, что list-initialization не может вызвать обычный конструктор вместо конструктора, который принимает initializer_list, так?

Berkus
17.02.2018
18:56:15

Aidar
17.02.2018
18:57:51

Igor
17.02.2018
18:59:33
эт хорошо, а там обновят хотя бы на с++11?
Он ее вроде основательно переписал, так что она даже в двухтомник превратилась :) Несколько раз уже откладывали, но надеюсь к CppConу ее наконец выпустят https://www.amazon.com/Large-Scale-Architecture-Addison-Wesley-Professional-Computing/dp/0201717069/

Berkus
17.02.2018
18:59:49
а вторую часть даже не анонсировали еще?