Независимое от платформы поколение GUID в C++?

Как лучше всего программно генерировать GUID или UUID в C++, не полагаясь на инструмент для конкретной платформы? Я пытаюсь сделать уникальные идентификаторы для объектов в моделировании, но не могу полагаться на Microsoft, так как проект является кр ...

std:: endl имеет неизвестный тип при перегрузке оператора

Я перегруженный оператор template <Typename T> UIStream& operator<<(const T); UIStream my_stream; my_stream << 10 << " heads"; работает, но: my_stream << endl; дает ошибку компиляции: ошибка C2678: двоич ...

Порядок инициализации статических переменных

C++ гарантирует, что переменные в единице компиляции (.cpp file) инициализируются в порядке объявления. Для количества единиц компиляции это правило работает для каждого отдельно (я имею в виду статические переменные вне классов). но порядок инициал ...

Каким образом исключения C++ замедляют код, когда нет исключений thown?

Я читал, что есть некоторые накладные расходы на использование исключений C++ для обработки исключений, а не, скажем, проверки возвращаемых значений. Я говорю только о накладных расходах, которые возникают, когда не возникает никаких исключений. Я та ...

Как вызвать qDebug без добавленных пробелов и новой строки?

я использую функцию печати C++ / Qt qDebug, но иногда я хотел бы контролировать, как", пространство и новая строка добавляется и не использовать qDebug по умолчанию. возьмем простой пример: QString var1("some string"); int var2 = 1; qDebug() < ...

Почему оператор присваивания копирования должен возвращать ссылку / ссылку const?

в C++ концепция возврата ссылки из оператора присваивания копии мне непонятна. Почему оператор присваивания копирования не может вернуть копию нового объекта? Кроме того, если у меня есть класс A, и следующее: A a1(param); A a2 = a1; A a3; a3 = a2; ...

Эффект от приведения в стиле C++?

Я новичок в кастах стиля C++, и я беспокоится, что использование приведений в стиле C++ испортит производительность моего приложения потому что у меня есть в режиме реального времени-критический срок в моей процедуре прерывания обслуживания. Я слыш ...

GCC стоит использовать в Windows для замены MSVC?

в настоящее время я разрабатываю в C++ на Windows, используя Visual Studio 2010. После официального анонса C++11, я начал использовать некоторые из его функций, которые уже доступны в MSVC. Но, как и ожидалось, подавляющее большинство новых изменений ...

Можно ли использовать boost::foreach с std:: map?

найти boost:: foreach очень полезно, Так как это экономит мне много писать. Например, допустим, я хочу напечатать все элементы в список: std::list<int> numbers = { 1, 2, 3, 4 }; for (std::list<int>::iterator i = numbers.begin(); i != num ...

Почему программисты C используют typedefs для переименования основных типов?

Итак, я далек от эксперта по C, но что-то беспокоило меня о коде, который я читал в течение длительного времени: может кто-нибудь объяснить мне, почему программисты C(++) используют typedefs для переименования простых типов? Я понимаю, почему вы буде ...

Массивы стиля NumPy для C++?

существуют ли какие-либо библиотеки C++ (или C), которые имеют NumPy-подобные массивы с поддержкой нарезки, векторизованных операций, добавления и вычитания содержимого по элементам и т. д.? ...

Как проверить, является ли тип объекта определенным подклассом в C++?

Я думал по линии использования typeid() но я не знаю, как спросить, является ли этот тип подклассом другого класса (который, кстати, является абстрактным) ...

Отложенные вычисления в C++

C++ не имеет собственной поддержки для ленивой оценки (как это делает Haskell). Мне интересно, можно ли реализовать ленивую оценку в C++ разумным образом. Если да, то как бы вы это сделали? EDIT: мне нравится ответ Конрада Рудольфа. Мне интересно, ...

Могу ли я использовать оператор == если я только реализовал оператор

я реализовал operator< для определенного объекта. Логично, если !(a < b) и !(b < a) значит a == b. это выводится автоматически? Могу ли я использовать == если я только осуществить <? ...

Что такое IACA и как его использовать?

Я нашел этот интересный и мощный инструмент под названием IACA (анализатор кода архитектуры Intel), но мне трудно это понять. Что я могу сделать с ним, каковы его ограничения и как я могу: использовать его для анализа кода на C или c++? использоват ...

Массив[N] в массив против[10] - инициализирует массив с переменными против вещественное число

у меня возникли следующие проблемы с моим код: int n = 10; double tenorData[n] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; возвращает следующую ошибку: error: variable-sized object 'tenorData' may not be initialized а через double tenorData[10] стр ...

Что означает clang's-Wweak-vtables?

Я в принципе не понимаю из Clang -Wweak-vtables. Вот что я наблюдал до сих пор: случае один: (триггеры предупреждение) class A { public: virtual ~A(){} }; class B : public A { public: virtual ~B(){} }; int main(){} случа ...

Разница между rdtscp, rdtsc: memory и cpuid / rdtsc?

предположим, что мы пытаемся использовать tsc для мониторинга производительности, и мы хотим предотвратить переупорядочение инструкций. вот наши варианты: 1:rdtscp - это сериализация вызовов. Это предотвращает переупорядочивание вокруг вызова rdtsc ...

Необычное использование typedef в C++

я наткнулся на новое использование ключевого слова typedef В C++. что означает этот оператор typedef ? int typedef foo; ...

Когда и как использовать функцию защиты стека GCC?

я включил -Wstack-protector предупреждение при компиляции проекта, над которым я работаю (коммерческий многоплатформенный игровой движок C++, компиляция на Mac OS X 10.6 с GCC 4.2). Этот флаг предупреждает о функциях, которые не будут защищены от раз ...