
Alex Фэils?︙
16.08.2018
11:11:38

Nikita
16.08.2018
11:13:01

elias
16.08.2018
11:13:34

John
16.08.2018
11:13:58
Ну, 'm_' вообще-то значит mutable

Google

John
16.08.2018
11:14:08
c_ - const

Nikita
16.08.2018
11:14:08

Egor
16.08.2018
11:14:16

John
16.08.2018
11:14:16
s_ - static

Maksym
16.08.2018
11:14:24

Nikita
16.08.2018
11:14:45

Alexander
16.08.2018
11:15:01

elias
16.08.2018
11:15:09
мне кажется, что const/mutable - это уже детализация. так можно докатиться до указания типа переменной в имени

Alex Фэils?︙
16.08.2018
11:16:00
lpctstrFirstName

Nikita
16.08.2018
11:16:22
CMAKE_CXX_STANDARD (емнип)
А как его готовить именно для того кейса, что я описал? Насколько я знаю, эта штука просто подпихивает компилятору флаг -std=c++{N}, а в случае с msvc вообще ничего не делает вроде (возможно, в msvs 2017 что-то изменилось)

Alex Фэils?︙
16.08.2018
11:17:24
дык он ж проверяет фичи компилятора, если нету, то он ругнется чем-то типа "Compiler %s is not able to build a simple program".
Вот только как готовить я ща не вспомню, голова не варит совсем

Nikita
16.08.2018
11:17:31
ну типо g_globalVariableName

Google

Nikita
16.08.2018
11:17:47
m_classMember

Alex Фэils?︙
16.08.2018
11:18:24
CXX_STANDARD — CMake 3.1.3 Documentation
cmake.org
set_property(TARGET tgt PROPERTY CXX_STANDARD 11). This property is initialized by the value of the CMAKE_CXX_STANDARD variable if it is set when a target is created.

Stolyarchuk
16.08.2018
11:18:26
Чуваки а можно как нибудь внутри cmake проверить, что поддерживается тот или иной стандарт? Мне нужно выключить сборку одного из проектов если не поддерживается c++14

Anton
16.08.2018
11:18:34
auto autoFileName = ... ))

Nikita
16.08.2018
11:18:41

Anton
16.08.2018
11:18:45
венгерка это дно...

Alex Фэils?︙
16.08.2018
11:18:55

Nikita
16.08.2018
11:19:52
сча пробну

Stolyarchuk
16.08.2018
11:20:39
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
if(COMPILER_SUPPORTS_CXX14)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has C++14 support!")
else()
message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++14 support. Please use a different C++ compiler.")
endif()

Spoonson
16.08.2018
11:20:44
еще CMAKE_CXX_KNOWN_FEATURES можно попробовать, но там фичи отдельно
хотя, с какой-то версии смейка есть прям фича cxx_std_14

Ilia
16.08.2018
11:27:04
Парни! Вот вы там все, корутины, смартпойнтеры, интрузив поинтеры, концепты...
А в жизни-то всё проще, вы бы знали как я "люблю" такой вот код:
if(rc == S_DB_NO_DATA)
{
// <<ATTENTION>> *** ver 3.0 ***
// next line has been removed
//data->Free();
return false;
}
else
{
return true;
}

Igor
16.08.2018
11:28:03
согласен, ужжасное смещение и переносы скобочек и пробела после ифа нет)

Ilia
16.08.2018
11:29:20

Stolyarchuk
16.08.2018
11:30:02
Чем проще, тем лучще
Главное до индусского кода не доводить

Ilia
16.08.2018
11:32:27

Stolyarchuk
16.08.2018
11:32:56
else if нет
Всё ок

Nikita
16.08.2018
11:33:11
else if (rc != S_DB_NO_DATA)

Google

Igor
16.08.2018
11:33:38
return true; // OK

Nikita
16.08.2018
11:34:15
// returns true if rc isn't S_DB_NO_DATA

Евгений
16.08.2018
11:34:15
return true; // OK
return (bool) RESULT_OK; // RESULT_OK - constant for more readabilier code

Stolyarchuk
16.08.2018
11:34:45
Выход из функции в елсе для читаемости..
Так все делают

Alexey
16.08.2018
11:35:04
Парни шалом всем!

Nikita
16.08.2018
11:35:24
хеллоу

Евгений
16.08.2018
11:35:51
двойная сравнительная степень в каментах
C-style cast

Nikita
16.08.2018
11:36:32
most

Anton
16.08.2018
11:36:39
индусский код это когда if (to_string(var).size() == 5) ))
ибо size "true" = 4 а "false" = 5

Евгений
16.08.2018
11:40:29

Max
16.08.2018
11:40:49
Так все делают
Упаси госспади делать такое вместо "return rc != S_DB_NO_DATA;"

Anton
16.08.2018
11:41:49

Spoonson
16.08.2018
11:43:09

Nikita
16.08.2018
11:43:25

Max
16.08.2018
11:46:10

Google

P
16.08.2018
11:47:53

Spoonson
16.08.2018
11:47:53

Igor
16.08.2018
11:48:26
Это еще что, я тут в одной книжке прочитал, что
if (a) x = f();
else if (b) y = f();
else z = f();
Это не торт, и нужно (a?x:(b?y:z)) = f();!

Max
16.08.2018
11:48:43

Alexander
16.08.2018
11:48:54

Дед Пегас
16.08.2018
11:49:33

Igor
16.08.2018
11:49:34
Хз, "тонкости с++" или както так называлась

Alex Фэils?︙
16.08.2018
11:49:47

Max
16.08.2018
11:51:24

PRoSToC0der
16.08.2018
11:51:30

Alex Фэils?︙
16.08.2018
11:52:18
(но вообще я прочитал до конца тот кусок кода ,и понял, что его надо зарефактить до return rc != S_DB_NO_DATA; сначала я подумал про инверсию ифа)

Nikita
16.08.2018
11:54:48

Alex Фэils?︙
16.08.2018
11:55:01
странно... надо им баг закинуть

PRoSToC0der
16.08.2018
11:55:05
ну просто как альтернатива, по идее вместо g_ для глобальных можно всегда дописывать ::, а для мемберов вместо m_ дописывать this->, просто не понимаю в чём их принципиальное отличие при написании кода

Ilia
16.08.2018
11:55:27

Alex Фэils?︙
16.08.2018
11:55:57

Nikita
16.08.2018
11:55:59
странно... надо им баг закинуть
возможно там поменяли механизм поиска или чё то такое, но раньше (в 3.8 ещё точно робит) достаточно было закинуть каталог нинзи в PATH и всё находилось, в 3.11 перестало

Ilia
16.08.2018
11:57:09

Google

Ilia
16.08.2018
11:57:43

Spoonson
16.08.2018
11:58:19
ну, а могли бы ручками деструкторы у членов класса вызывать, а тут то что

Alex Фэils?︙
16.08.2018
11:59:15

Ilia
16.08.2018
11:59:31

Alex Фэils?︙
16.08.2018
12:00:24

Ilia
16.08.2018
12:01:22

PRoSToC0der
16.08.2018
12:02:19

Alex Фэils?︙
16.08.2018
12:03:47
надо бы эту штуку формализовать до строчки в FAQ с примерчиком

Max
16.08.2018
12:23:51

Антон
16.08.2018
13:08:38
Может кто подскажет. Хочу в eclipse подебажить проект который собирается с помощью makefiles. Собрал проект в дебаг моде, запускаю на дебаг в eclipse но он не может найти исходники, из-за чего можно только дизассемблить. В чем может быть трабл? С Eclipse никогда до этого не работал...

Alex Фэils?︙
16.08.2018
13:12:51

Anatoly
16.08.2018
13:13:25

Антон
16.08.2018
13:16:13
Оук, спасиб

Ilia
16.08.2018
13:16:24