c++

Поддерживает ли C++ счетчики времени компиляции?

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

Преобразование класса C++ в JSON

Я хотел бы создать строку JSON, содержащую переменные экземпляра моего класса. например, class Example { std::string string; std::map<std::string, std:string> map; std::vector<int> vector; }; станет: { "string ...

Удалить все элементы из C++ std:: vector

Я пытаюсь удалить все от std::vector С помощью следующего кода vector.erase( vector.begin(), vector.end() ); но это не работает. Update: разве clear не уничтожает элементы, удерживаемые вектором? Я не хочу этого, так как я все еще использую объе ...

Получить путь к DLL во время выполнения

Я хочу получить dll путь к каталогу (или файлу) из его кода. (не программа .путь к файлу exe) Я пробовал несколько методов, которые я нашел:GetCurrentDir - возвращает текущий путь к каталогу.GetModuleFileName - возвращает путь к исполняемому файлу. ...

Проверить, если итератор действует

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

Как получить трассировку стека для C++ с помощью gcc с информацией о номере строки?

мы используем трассировки стека в proprietary assert как макрос, чтобы поймать ошибки разработчика - когда ошибка поймана, трассировка стека печатается. Я нахожу пару gcc backtrace()/backtrace_symbols() методы недостаточны: имена исковеркали нет и ...

std:: transform () и toupper (), без соответствующей функции

я попробовал код из этого вопроса C++ std:: transform() и toupper() ..почему это не удается? #include <iostream> #include <algorithm> int main() { std::string s="hello"; std::string out; std::transform(s.begin(), s.end(), std::bac ...

Где CLion хранит исполняемые файлы?

Я устанавливаю CLion на Ubuntu 14.04. Я строю свой первый проект с помощью CMakeLists.txt: исходный файл: #include <iostream> using namespace std; int main() { cout << "Hello, World!" << endl; return 0; } CMakeLists.txt: c ...

Что делает` std:: kill dependency', и почему я хочу его использовать?

я читал о новой модели памяти C++11, и я наткнулся на (§29.3/14-15). Я пытаюсь понять, почему я хотел бы использовать его. я нашел пример в предложение N2664 но это не помогало. он начинается с показа кода без std::kill_dependency. Здесь первая ст ...

Как поймать ошибку сегментации в Linux?

Мне нужно поймать ошибку сегментации в операциях очистки сторонних библиотек. Это происходит иногда непосредственно перед выходом моей программы, и я не могу исправить реальную причину этого. В программировании Windows я мог бы сделать это с __try - ...

Улучшенные циклы в C++

я переключаюсь с Java на C++, и мне было интересно, содержит ли C++ расширенные циклы for, которые я использовал в java, например: int[] numbers = {1,2,3,4,5,6,7,8,9,10}; for (int item : numbers) { System.out.println("Count is: " + item); } возм ...

Возврат указателя на векторный элемент в c++

у меня есть вектор myObjects в глобальном масштабе. У меня есть метод, который использует std::vector<myObject>::const_iterator чтобы пересечь вектор и сделать некоторые сравнения, чтобы найти конкретный элемент. Как только я нашел нужный элеме ...

Что быстрее, повторяя вектор STL с помощью vector:: iterator или с помощью at()?

С точки зрения производительности, что будет работать быстрее? Есть ли разница? Это зависит от платформы? //1. Using vector<string>::iterator: vector<string> vs = GetVector(); for(vector<string>::iterator it = vs.begin(); it != v ...

Выражение должно иметь тип класса

Я не кодированный в C++ в течение некоторого времени, и я застрял, когда я попытался скомпилировать этот простой фрагмент #include "iostream" using namespace std; class A { public: void f() { cout<<"f()\n"; } }; int main() { // A a; //thi ...

Почему Qt использует свой собственный инструмент make, qmake?

Я только начал использовать Qt и заметил, что он использует свой собственный инструмент, qmake. почему Qt использует свой собственный инструмент make? есть ли что-то особенное, что мешает ему использовать стандартный инструмент make? вызывает ли q ...

Почему Java читает большой файл быстрее, чем C++?

у меня есть файл 2 ГБ (iputfile.txt), в котором каждая строка в файле есть слова, как: apple red beautiful smell spark input мне нужно написать программу, чтобы прочитать каждое слово в файле и печатать количество слов. Я написал его с помощью Jav ...

Каковы определения для LPARAM и WPARAM?

Я знаю, что я ленив здесь, и я должен тралить заголовочные файлы для себя, но каковы фактические типы для параметров LPARAM и WPARAM? Это указатели или четырехбайтовые ints? Я делаю код взаимодействия C# и хочу быть уверенным, что он работает на сист ...

В C++ оператор switch выражение гарантии оценки

относительно переключателя стандартные состояния следующие. " когда оператор switch выполняется, его состояние оценивается и сравнивается с каждой константой case." означает ли это, что выражение условия вычисляется один раз и только один раз, и он ...

Компиляторы и порядок аргументов оценки в C++

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

Как я могу распечатать значения wchar t для консоли?

пример: #include <iostream> using namespace std; int main() { wchar_t en[] = L"Hello"; wchar_t ru[] = L"Привет"; //Russian language cout << ru << endl << en; return 0; } этот код печатает ...