c++

Я видел странный тип программы здесь. int main() { int s[]={3,6,9,12,18}; int* p=+s; } выше программа протестирована на GCC и лязгом компиляторы и отлично работают на обоих компиляторах. мне любопытно узнать, что делает int* p=+s; сделать? - это массив s распался на тип указателя?...

есть ли разница между этими двумя сегментами кода: void f() { thread_local vector<int> V; V.clear(); ... // use V as a temporary variable } и void f() { static thread_local vector<int> V; V.clear(); ... // use V as a temporary variable } Предыстория: первоначально у м...

я возился с некоторым кодом C, используя поплавки, и я получаю 1.#INF00, -1.#IND00 и -1.#IND, когда я пытаюсь распечатать плавает на экране. Что означают эти ценности? Я считаю, что 1.#INF00 означает положительную бесконечность, но как насчет -1.#IND00 и -1.#IND? Я также видел иногда это значение: 1.$NaN, ко...

этот вопрос уже есть ответ здесь: Значение 'const' last в объявлении функции класса? 7 ответов что именно const ключевое слово в C++ означает, когда это написано в конце функции-члена (после списка аргументов)?...

на c++03 Это довольно ясно, что удаление нулевого указателя не имеет никакого эффекта. Действительно, это явно указано в §5.3.5/2 что: в любом варианте, если значение операнда delete является нулевым указателем, операция не имеет эффекта. однако, в текущем проект на c++0x это предложение, кажется, отсу...

компилятор Microsoft C++ (cl.exe, в комплекте с Visual Studio) предлагает несколько переключателей оптимизация. Разница между большинством из них кажется самоочевидной, но мне не ясно, в чем разница между /O2 (который оптимизирует код для максимальной скорости) и /Ox (который выбирает "полная оптимизация"). ...

Я понимаю, правильный способ захвата this (для изменения свойств объекта) в лямбде выглядит следующим образом: auto f = [this] () { /* ... */ }; но мне любопытно, что я видел следующую особенность: class C { public: void foo() { // auto f = [] () { // this not captured ...

мой ответ этот вопрос была такая функция: inline bool divisible15(unsigned int x) { //286331153 = (2^32 - 1) / 15 //4008636143 = (2^32) - 286331153 return x * 4008636143 <= 286331153; } Он отлично работал на моей машине с компилятором VS2008, однако здесь это вообще не работает. кто-нибудь...

В C++ вы можете объявить лямбды, например, так: int x = 5; auto a = [=]() mutable { ++x; std::cout << x << 'n'; }; auto b = [&]() { ++x; std::cout << x << 'n'; }; оба позвольте мне изменить x, Так в чем же разница?...

Это может показаться немного глупым вопросом, но, увидев ответ Александра C в другой теме, мне любопытно узнать, что если есть какая-либо разница в производительности со встроенными типами: char vs short vs int и float против double. обычно мы не рассматриваем такую разницу в производительности (если...