Вопросы с тегом «c++»

87
Почему C и C ++ поддерживают поэлементное присваивание массивов внутри структур, но не в целом?

Я понимаю, что поэлементное присваивание массивов не поддерживается, поэтому следующее не будет работать: int num1[3] = {1,2,3}; int num2[3]; num2 = num1; // "error: invalid array assignment" Я просто принял это как факт, полагая, что цель языка - предоставить открытый фреймворк и позволить...

87
Как вы «перераспределяете» в C ++?

Как я могу reallocна C ++? В языке вроде бы отсутствует - есть newи deleteно нетresize ! Мне это нужно, потому что по мере того, как моя программа читает больше данных, мне нужно перераспределить буфер для его хранения. Я не думаю, что deleteиспользовать старый указатель и newиспользовать новый,...

87
long long int против long int против int64_t в C ++

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

87
Получить последний элемент std :: string

Мне было интересно, есть ли сокращение или более элегантный способ получить последний символ строки, например: char lastChar = myString.at( myString.length() - 1 ); myString.back()Ничего подобного , похоже, не существует. Есть аналог?...

87
Почему шаблон функции не может быть частично специализированным?

Я знаю, что спецификация языка запрещает частичную специализацию шаблона функции. Хотелось бы узнать, почему он это запрещает? Разве они не полезны? template<typename T, typename U> void f() {} //allowed! template<> void f<int, char>() {} //allowed! template<typename T>...

87
Как создать граф вызовов для кода C ++

Я пытаюсь создать граф вызовов, с помощью которого можно узнать все возможные пути выполнения, которые попадают в конкретную функцию (так что мне не нужно выяснять все пути вручную, поскольку есть много путей, которые приводят к этой функции ). Например: path 1: A -> B -> C -> D path 2: A...

87
Как я могу создать собственный компаратор для карты?

typedef map<string, string> myMap; При вставке новой пары в myMap, он будет использовать ключ stringдля сравнения своим собственным компаратором строк. Можно ли отменить этот компаратор? Например, я хотел бы сравнить ключ stringпо длине, а не по алфавиту. Или есть другой способ отсортировать...

87
как обеспечить функцию подкачки для моего класса?

Как правильно включить мои swapалгоритмы в STL? 1) Участник swap. Имеет ли std::swapиспользовать SFINAE трюк использовать элемент swap. 2) Свободное положение swapв том же пространстве имен. 3) Частичная специализация std::swap. 4) Все вышеперечисленное. Спасибо. РЕДАКТИРОВАТЬ: Похоже, я не...

87
С # эквивалент вектора С ++ с непрерывной памятью?

Что такое C # эквивалент вектора C ++? Я ищу эту функцию: Чтобы иметь динамический массив непрерывно хранимой памяти, который не имеет потери производительности для доступа по сравнению со стандартными массивами. Я искал и они говорят .NET equivalent to the vector in C++ is the ArrayList так: Есть...

87
Как работает диапазон на основе для простых массивов?

В C ++ 11 вы можете использовать диапазон for, который действует как foreachдругие языки. Он работает даже с простыми массивами C: int numbers[] = { 1, 2, 3, 4, 5 }; for (int& n : numbers) { n *= 2; } Как он узнает, когда остановиться? Работает ли он только со статическими массивами, которые...

87
Частичная специализация шаблона функции с ++?

Я знаю, что приведенный ниже код является частичной специализацией класса: template <typename T1, typename T2> class MyClass { … }; // partial specialization: both template parameters have same type template <typename T> class MyClass<T,T> { … }; Также я знаю, что C ++ не...

87
Каковы правильные параметры ссылки для использования std :: thread в GCC под Linux?

Привет, я пытаюсь использовать std::threadс G ++. Вот мой тестовый код #include <thread> #include <iostream> int main(int, char **){ std::thread tt([](){ std::cout<<"Thread!"<<std::endl; }); tt.join(); } Он компилируется, но когда я пытаюсь его запустить, результат:...

87
модуль небезопасен для изображения SAFESEH C ++

Я использую Microsoft Visual Studio 2011 Professional Beta Я пытаюсь запустить файлы OpenCV C ++ ( http://opencv.willowgarage.com/wiki/Welcome ), которые я скомпилировал с помощью cMake и Visual Studio Complier. Однако когда я иду отлаживать проект, я получаю более 600 ошибок, большинство из...

87
C ++ 11: количество параметров функции шаблона с переменным размером?

Как я могу подсчитать количество аргументов функции вариативного шаблона? то есть: template<typename... T> void f(const T&... t) { int n = number_of_args(t); ... } Как лучше всего реализовать number_of_argsвышеперечисленное?...

87
gcc / g ++: «Нет такого файла или каталога»

g++ дает мне ошибки формы: foo.cc:<line>:<column>: fatal error: <bar>: No such file or directory compilation terminated. То же самое и при компиляции C-программ с использованием gcc. Почему это? Обратите внимание: этот вопрос задавали много раз раньше, но каждый раз он относился...

87
Как настроить googleTest как общую библиотеку в Linux

Debian больше не предоставляет предварительно скомпилированных пакетов для gTest. Они предлагают вам интегрировать фреймворк в make-файл вашего проекта. Но я хочу, чтобы мой make-файл был чистым. Как мне настроить gTest, как предыдущие версии (<1.6.0), чтобы я мог ссылаться на библиотеку?...