
Олег
21.09.2018
12:10:45
Привет!
Напомните, зачем нужен get у std::shared_ptr (тык).
То есть, в чём мотивация (автором стандарта и библиотеки) сделать это отдельным методом, а не разрешить неявное преобразование?

Spoonson
21.09.2018
12:12:19
потому что явное лучше неявного, а желание получить сырой указатель из shared_ptr должно быть редким и четко выражаться в коде.

Олег
21.09.2018
12:14:07
Трудно спорить, да.

Constantine
21.09.2018
12:14:28

Google

Constantine
21.09.2018
12:16:49

Олег
21.09.2018
12:17:18
То есть, общее правило, подтверждённое практикой.

Constantine
21.09.2018
12:18:02
там конструкция примерно такая
std::function<CString()> f = [] () {
return some_condition ? "hello" : CString{"world"};
}; //ой, моя нога!
поскольку CString можно в char const* лямбда возвращает char const*
из которого потом внутри std::function конструируют назад CString

Igor
21.09.2018
12:20:00

Alex Фэils?︙
21.09.2018
12:20:10
в ?: оба типа в разных ветках должны быть одинаковыми

Constantine
21.09.2018
12:20:28

Andrew
21.09.2018
12:20:45
да же

Constantine
21.09.2018
12:20:53
сначала проверяется, можно ли все кастнуть к первому, потом ко второму, нет?

Alex Фэils?︙
21.09.2018
12:21:07
проверяется, если неявного каста нет, то ой

Google

Andrew
21.09.2018
12:21:10
Вроде это уникальное по строгости правило, наследие древних Cшных времен

Constantine
21.09.2018
12:21:37
в общем, неявные преобразования типа это очень страшно

Alex Фэils?︙
21.09.2018
12:22:45

Padureac
21.09.2018
12:24:13
Можно вопрос: какие use-cases могут быть для интерфейса со всеми методами pure virtual, кроме одного, статического метода getInstance()
?

Andrey
21.09.2018
12:24:55
У MSVC собственные правила для типизации тернарного оператора, отличные от стандарта:
https://docs.microsoft.com/en-us/cpp/build/reference/zc-ternary?view=vs-2017

Alex Фэils?︙
21.09.2018
12:25:21

Igor
21.09.2018
12:33:32
не по плюсам но на околоплюсовую тему
вот есть подсветка синтаксиса - она даже в простом блокноте может быть, и в виме правила подсветки пишутся на раз-два
а есть всякие Go To Definition по Ctrl+LMB, Find Usages умеющий отличать локальную float f от глобальной int f, красные подчёркивания, когда ты в foo(int) пытаешься передать string, аутлайн со списком доступных символов в файле... как вот это вот всё одним термином называется? intellisense? или это название мелкософтовской технологии, которая всё это в студии организует?

Alex Фэils?︙
21.09.2018
12:34:17
вообще это название технологии, но оно, как я смотрю, стало нарицательным для этого всего, типа ксерокса для копиров

Igor
21.09.2018
12:34:41
ну и традиционное #xy: нужна иде/редактор/плагин, которое умеет во всё вот это вот для Pro*C embedded sql файлов в проекте) пока есть только плагин для эклипса, позволяющий подсветке синтаксиса не сходить с ума полностью

Ilia
21.09.2018
12:36:59

Bodya
21.09.2018
12:37:05
Привет всем, хотел узнать, может кто-то в курсе, что быстрей работает pow(something, 2), или a*a. Или, что гуглить, чтобы провести тест самому :) Заранее спасибо и хорошего настроения всем)

Igor
21.09.2018
12:37:52

Олег
21.09.2018
12:38:38

Bodya
21.09.2018
12:38:42

Ilia
21.09.2018
12:38:49

Igor
21.09.2018
12:39:11

Ilia
21.09.2018
12:39:31
да же
Не, по первому аргументу обычно...

Bodya
21.09.2018
12:39:37

Google

Alex
21.09.2018
12:39:38

Ilia
21.09.2018
12:40:40

Igor
21.09.2018
12:43:04

Ilia
21.09.2018
12:43:07

Igor
21.09.2018
12:47:03

Ilia
21.09.2018
12:47:27
А ценность всей этой лабуды в общем -- только что удобно писать запросы КАК БЫ как на сервере в хранимой процедуре.
Ну и это в общем достаточно легко должно переписываться на что-то типа Qt или POCO

Anton
21.09.2018
13:59:06
обратную совместимость не ломали же почти
там же сишный код просто на выходе
в стандартах есть что-то про препроцессоры? кроме стандартного конечно с макросами
сорян что я такой тупой если ты про это =)

Yarique
21.09.2018
14:10:16

Igor
21.09.2018
14:10:25
//напоминаю что речь про препроцессирование дичи вида EXEC SQL CREATE TABLE Employees; int main() { initialize(Employees); } в относительно привычный чистый си

Anton
21.09.2018
14:11:29
ага, ну вот EXEC SQL по идее в норм коде не должно встретиться )
большими буквами же только макросы и константы обычно обзывают
должно работать )

Ilia
21.09.2018
14:12:40
обратную совместимость не ломали же почти
Ну, любителей использовать эту замечательную технологию надо днём с огнём искать, поэтому уровень желания поддерживать это или реализовывать вообще , будет соответствующий.

Anton
21.09.2018
14:12:58
это да