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

C ++ - это язык программирования общего назначения. Первоначально он был разработан как расширение C и имеет аналогичный синтаксис, но теперь это совершенно другой язык. Используйте этот тег для вопросов о коде (который будет скомпилирован с помощью компилятора C ++). Используйте тег, зависящий от версии, для вопросов, связанных с конкретной редакцией стандарта [C ++ 11], [C ++ 14], [C ++ 17] или [C ++ 20] и т. Д.

2
Компилятор показывает символ «пи» при ошибке
Я тестировал код на Coliru и получил странный результат. Я просмотрел код и смог воспроизвести его с помощью этого простого фрагмента кода : int main() { π } Вывод на g ++: лязг: Например, использование только pi(без адреса) показывает ожидаемый результат: main.cpp:3:5: error: 'pi' was not declared in this scope …
103 c++  coliru 

5
Гарантированное время жизни временного в C ++?
Предоставляет ли C ++ гарантию на время жизни временной переменной, которая создается при вызове функции, но не используется в качестве параметра? Вот пример класса: class StringBuffer { public: StringBuffer(std::string & str) : m_str(str) { m_buffer.push_back(0); } ~StringBuffer() { m_str = &m_buffer[0]; } char * Size(int maxlength) { m_buffer.resize(maxlength + 1, …
103 c++ 

4
Почему все используют стандартные типы C?
Если вы хотите использовать Qt , вы должны принять quint8, quint16и так далее. Если вы хотите использовать GLib , вы должны приветствовать guint8, guint16и так далее. В Linux есть u32, s16и так далее. УНЦ / OS определяет SINT32, UINT16и так далее. И если вам нужно использовать какую-то комбинацию этих вещей, …
103 c++  c  stdint 

6
Для чего нужен __gxx_personality_v0?
Это вопрос из вторых рук с сайта разработки ОС, но он вызвал у меня любопытство, так как я нигде не мог найти достойного объяснения. При компиляции и компоновке автономной программы на C ++ с использованием gcc иногда возникает такая ошибка компоновщика: out/kernel.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0' Очевидно, это связано с …
103 c++  gcc  linker  kernel 

12
Почему символьные литералы C представляют собой целые числа вместо символов?
В C ++ sizeof('a') == sizeof(char) == 1. Это имеет интуитивный смысл, поскольку 'a'является символьным литералом и sizeof(char) == 1определено стандартом. В C однако sizeof('a') == sizeof(int). То есть, похоже, что символьные литералы C на самом деле являются целыми числами. Кто-нибудь знает почему? Я могу найти множество упоминаний об этой …
103 c++  c  char  sizeof 

10
Почему std :: set не имеет функции-члена «содержит»?
Я активно использую, std::set<int>и часто мне просто нужно проверить, содержит ли такой набор число или нет. Я считаю естественным написать: if (myset.contains(number)) ... Но из-за отсутствия containsчлена мне нужно написать громоздкое: if (myset.find(number) != myset.end()) .. или не такое очевидное: if (myset.count(element) > 0) .. Есть ли причина для такого …
103 c++  stl  stdset 

7
Сделайте программу работать медленно
Есть ли способ запустить программу на C ++ медленнее, изменив какие-либо параметры ОС в Linux? Таким образом, я хотел бы смоделировать, что произойдет, если эта конкретная программа будет работать на действительно более медленной машине. Другими словами, более быстрая машина должна вести себя как более медленная машина для этой конкретной программы.
103 c++  c  linux  unix  ubuntu 

2
Какие классы исключений есть в стандартной библиотеке C ++
Какие классы исключений включены в стандартную библиотеку C ++ и для чего их следует использовать? Я знаю, что есть несколько новых исключений C ++ 11, но я не уверен, что это такое и где они находятся.
103 c++  exception  c++11  stl 

7
В C ++ все еще является плохой практикой возвращать вектор из функции?
Краткая версия: во многих языках программирования обычно возвращаются большие объекты, такие как векторы / массивы. Допустим ли этот стиль в C ++ 0x, если в классе есть конструктор перемещения, или программисты на C ++ считают его странным / уродливым / мерзким? Расширенная версия: в C ++ 0x это все еще …

12
Почему бы не вывести параметр шаблона из конструктора?
мой вопрос сегодня довольно прост: почему компилятор не может вывести параметры шаблона из конструкторов классов, так же как он может сделать из параметров функции? Например, почему следующий код не может быть действительным: template<typename obj> class Variable { obj data; public: Variable(obj d) { data = d; } }; int main() …

4
Как использовать CMake?
Я пытаюсь использовать CMake для компиляции opencv. Я читаю руководство, но не могу понять, что такое файлы CMakeLists и как они связаны с графическим интерфейсом CMake? Также не мог понять, что такое make-файлы, они же CMakeLists? И что это за файл, который я открываю с помощью visual-studio?
103 c++  visual-studio  cmake 

8
C ++ Лучший способ получить целочисленное деление и остаток
Мне просто интересно, если я хочу разделить a на b и меня интересует как результат c, так и остаток (например, скажем, у меня есть количество секунд и я хочу разделить его на минуты и секунды), каков наилучший способ пойти об этом? Будет ли это int c = (int)a / b; …
103 c++  division 

2
C ++ 0x лямбда-захват по значению всегда const?
Есть ли способ захватить по значению и сделать захваченное значение неконстантным? У меня есть функтор библиотеки, который я хотел бы захватить и вызвать метод, который не является константой, но должен быть. Следующее не компилируется, но создание foo :: operator () const исправляет его. struct foo { bool operator () ( …
103 c++  lambda  const  c++11 

3
Преобразование shared_ptr <Base> в shared_ptr <Derived>?
Обновление: shared_ptr в этом примере аналогичен таковому в Boost, но он не поддерживает shared_polymorphic_downcast (или dynamic_pointer_cast или static_pointer_cast в этом отношении)! Я пытаюсь инициализировать общий указатель на производный класс без потери счетчика ссылок: struct Base { }; struct Derived : public Base { }; shared_ptr&lt;Base&gt; base(new Base()); shared_ptr&lt;Derived&gt; derived; // …
103 c++  gcc  boost 

1
Преобразование изображения в ASCII-арт
Пролог Эта тема время от времени всплывает здесь, в Stack Overflow, но обычно удаляется из-за плохо написанного вопроса. Я видел много таких вопросов, а затем молчание со стороны OP (обычно низкая репутация), когда запрашивается дополнительная информация. Время от времени, если вводная информация для меня достаточно хороша, я решаю ответить ответом, …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.