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

97
Передаются ли векторы функциям по значению или по ссылке в C ++

Я кодирую на C ++. Если у меня есть какая-то функция void foo(vector<int> test)и я вызываю ее в своей программе, будет ли вектор передан по значению или ссылке? Я не уверен, потому что знаю, что векторы и массивы похожи, и что функция вроде void bar(int test[])бы проходит тест по ссылке...

97
Как передать std :: unique_ptr в функцию

Как передать std::unique_ptrв функцию? Допустим, у меня есть следующий класс: class A { public: A(int val) { _val = val; } int GetVal() { return _val; } private: int _val; }; Следующее не компилируется: void MyFunc(unique_ptr<A> arg) { cout << arg->GetVal() << endl; } int...

97
Как может работать программа с глобальной переменной main вместо основной функции?

Рассмотрим следующую программу: #include <iostream> int main = ( std::cout << "C++ is excellent!\n", 195 ); Используя g ++ 4.8.1 (mingw64) в ОС Windows 7, программа компилируется и работает нормально, печатая: C ++ отличный! к консоли. mainвыглядит как глобальная переменная, а не...

97
Как получить размер файла в байтах с помощью C ++ 17

Есть ли подводные камни для конкретных операционных систем, о которых я должен знать? Есть много дубликатов ( 1 , 2 , 3 , 4 , 5 ) этого вопроса, но ответы на них были даны несколько десятилетий назад. Сегодняшние ответы на многие из этих вопросов неверны. Методы из других (старых QA) на .sx stat.h...

96
Как мне обнаружить ненужные файлы #include в большом проекте C ++?

Я работаю над большим проектом на C ++ в Visual Studio 2008, и там много файлов с ненужными #includeдирективами. Иногда #includes - это просто артефакты, и все будет нормально компилироваться с их удалением, а в других случаях классы могут быть объявлены вперед, а #include может быть перемещен в...

96
Как рассчитать разницу во времени в C ++

Как лучше всего рассчитать разницу во времени в C ++? Я измеряю скорость выполнения программы, поэтому меня интересуют миллисекунды. А еще лучше, секунды. Миллисекунды .. Принятый ответ работает, но должен включать ctime или time.h, как указано в комментариях....

96
Лучшие практики для операций кругового сдвига (поворота) в C ++

Операторы сдвига влево и вправо (<< и >>) уже доступны в C ++. Однако я не мог понять, как я могу выполнять операции кругового сдвига или поворота. Как можно выполнять такие операции, как «Повернуть влево» и «Повернуть вправо»? Здесь дважды вращается вправо Initial --> 1000 0011...

96
ACE vs Boost vs POCO [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы на него можно было ответить с помощью фактов и цитат, отредактировав этот пост . Закрыт 2 года назад . Уточните этот вопрос Я довольно давно работаю с...

96
Чистый код для printf size_t в C ++ (или: Ближайший эквивалент% z из C99 в C ++)

У меня есть код C ++, который печатает size_t: size_t a; printf("%lu", a); Я бы хотел, чтобы это скомпилировалось без предупреждений как на 32-, так и на 64-битных архитектурах. Если бы это был C99, я бы мог использовать printf("%z", a);. Но AFAICT %zне существует ни на одном стандартном диалекте...

96
Управление памятью в Qt?

Я новичок в Qt и меня интересуют некоторые основные вещи, связанные с управлением памятью и жизнью объектов. Когда мне нужно удалить и / или уничтожить мои объекты? Выполняется ли что-либо из этого автоматически? В приведенном ниже примере, какие из созданных мной объектов мне нужно удалить? Что...

96
Как указать предпочтение пути к библиотеке?

Я компилирую программу на C ++, используя g++и ld. У меня есть .soбиблиотека, которую я хочу использовать при компоновке. Однако библиотека с таким же именем существует /usr/local/libи ldвыбирает эту библиотеку вместо той, которую я прямо указываю. Как я могу это исправить? В приведенных ниже...

96
множественное определение специализации шаблона при использовании разных объектов

Когда я использую специализированный шаблон в разных объектных файлах, я получаю ошибку «множественное определение» при связывании. Единственное решение, которое я нашел, включает использование «встроенной» функции, но это похоже на обходной путь. Как мне решить эту проблему без использования...

96
Оператор == не обнаружен при сравнении структур в C ++

Сравнивая два экземпляра следующей структуры, я получаю сообщение об ошибке: struct MyStruct1 { MyStruct1(const MyStruct2 &_my_struct_2, const int _an_int = -1) : my_struct_2(_my_struct_2), an_int(_an_int) {} std::string toString() const; MyStruct2 my_struct_2; int an_int; }; Ошибка: ошибка...

96
C ++ Tuple против Struct

Есть ли разница между использованием a std::tupleи только данных struct? typedef std::tuple<int, double, bool> foo_t; struct bar_t { int id; double value; bool dirty; } Из того, что я нашел в Интернете, я обнаружил, что есть два основных отличия: structболее читабельный и tupleимеет много...

96
Как удалить определенные символы из строки в C ++?

Например, у меня пользователь вводит номер телефона. cout << "Enter phone number: "; INPUT: (555) 555-5555 cin >> phone; Я хочу удалить из строки символы «(», «)» и «-». Я просмотрел функции удаления, поиска и замены строки, но я вижу только, что они работают в зависимости от...

96
M_PI работает с math.h, но не с cmath в Visual Studio

Я использую Visual Studio 2010. Я читал, что на C ++ лучше использовать <cmath>, чем <math.h>. Но в программе, которую я пытаюсь написать (консольное приложение Win32, пустой проект), я пишу: #define _USE_MATH_DEFINES #include <math.h> он компилируется, а если я напишу #define...