c++
C++11 14.8.2 -Вывод Аргумента Шаблона -[temp.deduct] 7 подстановка происходит во всех типах и выражениях, которые используются в типе функции и в объявлениях параметров шаблона. Выражения включают в себя не только постоянные выражения, такие как те, которые появляются в границах массива или в ка...
Я пытаюсь понять, связано ли различное поведение, выставленное gcc против clang в выводе этой простой программы C++11, с ошибкой в clang (Xcode 5.0.2, OS X 10.8.5). Код выглядит следующим образом: #include <iostream> int main() { int matrix[][3]{{1,2,3}, {4,5,6}, {7,8,9}}; auto dyn_matrix = ...
я работаю над многопоточный C++ приложение, которое развращает кучу. Обычные инструменты для обнаружения этого повреждения кажутся неприменимыми. Старые сборки (18 месяцев) исходного кода демонстрируют то же поведение, что и самый последний релиз, поэтому это было вокруг в течение длительного времени и прос...
каждая современная ОС предоставляет сегодня некоторые атомарные операции: Windows имеет Interlocked* API FreeBSD есть <machine/atomic.h> Солярис <atomic.h> Mac OS X имеет <libkern/OSAtomic.h> что-нибудь подобное для Linux? мне нужно, чтобы он работал на большинстве поддерживаемых Lin...
Я смотрю на реализацию API, который я использую. Я заметил, что структура наследуется от класса, и я остановился, чтобы обдумать его... во-первых, я не видел в руководстве C++, которое я изучал, что структура может наследовать от другой структуры: struct A {}; struct B : public A {}; Я думаю, что в так...
Я пытаюсь улучшить производительность резьбового приложения с крайними сроками в режиме реального времени. Он работает на Windows Mobile и написан на C / C++. У меня есть подозрение, что высокая частота переключения потоков может вызвать ощутимые накладные расходы, но не может ни доказать, ни опровергнуть это...
если у меня есть класс Foo в Bar имен: namespace bar { class Foo { ... } }; тогда я могу: using Baz = bar::Foo; и теперь это так же, как я определил класс в моем пространстве имен с именем Baz. можно ли сделать то же самое для функции? namespace bar { void f(); } и затем: using g = bar::f; ...
если у вас есть вектор STL, который был изменен, безопасно ли взять адрес элемента 0 и предположить, что остальная часть вектора будет следовать в памяти? например vector<char> vc(100); // do some stuff with vc vc.resize(200); char* p = &vc[0]; // do stuff with *p ...
у меня есть указатель, ptr, и условие cond. Мне нужен самый быстрый способ сбросить ptr Если cond - это true, или держать ptr без изменений, если cond - это false. Текущая реализация, тривиально: void reset_if_true(void*& ptr, bool cond) { if (cond) ptr = nullptr; } Я знаю, что вышеуказанна...
Как я могу просматривать символы в a .o файл? нм не работает для меня. Я использую g++ / linux....