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

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

4
Использование библиотеки C ++ в коде C
У меня есть библиотека C ++, которая предоставляет различные классы для управления данными. У меня есть исходный код библиотеки. Я хочу расширить API C ++ для поддержки вызовов функций C, чтобы библиотеку можно было использовать с кодом C и кодом C ++ одновременно. Я использую цепочку инструментов GNU (gcc, glibc …
103 c++  c  gcc  glibc 

6
Почему vector <bool> не является контейнером STL?
В пункте 18 книги Скотта Мейерса « Эффективный STL: 50 конкретных способов улучшить использование стандартной библиотеки шаблонов» говорится, что следует избегать, vector &lt;bool&gt;поскольку это не контейнер STL и на самом деле не содержит bools. Следующий код: vector &lt;bool&gt; v; bool *pb =&amp;v[0]; не будет компилироваться, нарушая требования контейнеров STL. Ошибка: …

3
Безопасно ли связывать объекты C ++ 17, C ++ 14 и C ++ 11
Предположим, у меня есть три скомпилированных объекта, созданных одним и тем же компилятором / версией : A был скомпилирован со стандартом C ++ 11 B был скомпилирован по стандарту C ++ 14 C был скомпилирован со стандартом C ++ 17 Для простоты предположим, что все заголовки были написаны на C …
103 c++  c++11  linker  c++14  abi 

16
C ++ получает время в миллисекундах в Linux - clock () не работает должным образом
В Windows clock()возвращает время в миллисекундах, но в этом Linux-устройстве, над которым я работаю, оно округляет его до ближайшей 1000, поэтому точность составляет только «второй» уровень, а не уровень миллисекунд. Я нашел решение с Qt, используя QTimeкласс, создавая экземпляр объекта и вызывая start()его, а затем вызывая, elapsed()чтобы узнать количество прошедших …
102 c++  timer  clock 

2
Что означает && в void * p = && abc;
Я наткнулся на кусок кода void *p = &amp;&amp;abc;. Какое &amp;&amp;здесь значение? Я знаю о ссылках на rvalue, но думаю, что &amp;&amp;в этом контексте они используются по-другому. Что &amp;&amp;указывает в void *p = &amp;&amp;abc;?
102 c++  c  gcc  operators 

9
Почему string :: compare возвращает int?
Почему string::compareвозвращает intвместо меньшего типа, например shortили char? Насколько я понимаю, этот метод возвращает только -1, 0 или 1. Вторая часть, если бы я должен был разработать метод сравнения, который сравнивает два объекта типа, Fooи я хотел бы вернуть только -1, 0 или 1, использовал бы shortили charвообще был бы …
102 c++ 

12
Поддержка Visual Studio новых стандартов C / C ++?
Я продолжаю читать о C99 и C ++ 11 и обо всех этих совершенно приятных вещах, которые добавляются к языковому стандарту и которые когда-нибудь могут быть полезны. Однако в настоящее время мы томимся в стране написания C ++ в Visual Studio. Будет ли когда-либо добавлено что-либо из нового стандарта в …

4
Запускать приложение в GDB до возникновения исключения
Я работаю над многопоточным приложением и хочу отлаживать его с помощью GDB. Проблема в том, что одна из моих тем продолжает умирать с сообщением: pure virtual method called terminate called without an active exception Abort Я знаю причину этого сообщения, но понятия не имею, где оно происходит в моей цепочке. …

2
Генерация случайных чисел в C ++ 11: как генерировать, как это работает? [закрыто]
Трудно сказать, о чем здесь спрашивают. Этот вопрос неоднозначный, расплывчатый, неполный, чрезмерно широкий или риторический, и на него нельзя разумно ответить в его нынешней форме. Чтобы прояснить этот вопрос и снова открыть его, посетите Справочный центр . Закрыт 9 лет назад . Недавно я наткнулся на новый способ генерации случайных …
102 c++  c++11  random 

14
Какой лучший способ сделать обратный цикл в C / C # / C ++?
Мне нужно вернуться назад по массиву, поэтому у меня есть такой код: for (int i = myArray.Length - 1; i &gt;= 0; i--) { // Do something myArray[i] = 42; } Есть ли лучший способ сделать это? Обновление: я надеялся, что, возможно, в C # есть какой-то встроенный механизм для …
102 c#  c++  c 

20
C / C ++ проверяет, установлен ли один бит, т.е. переменная int
int temp = 0x5E; // in binary 0b1011110. Есть ли способ проверить, равен ли бит 3 в temp 1 или 0 без сдвига бит и маскирования. Просто хочу знать, есть ли для этого какая-то встроенная функция, или я вынужден написать ее сам.
102 c++  c  bit-manipulation 

7
Сбросить массив C int до нуля: самый быстрый способ?
Предполагая, что у нас есть a T myarray[100]с T = int, unsigned int, long long int или unsigned long long int, каков самый быстрый способ сбросить все его содержимое до нуля (не только для инициализации, но и для сброса содержимого несколько раз в моей программе) ? Может с memset? Тот …
102 c++  c  arrays  memset 

7
Статические поля наследуются?
Когда статические члены наследуются, являются ли они статическими для всей иерархии или только для этого класса, то есть: class SomeClass { public: SomeClass(){total++;} static int total; }; class SomeDerivedClass: public SomeClass { public: SomeDerivedClass(){total++;} }; int main() { SomeClass A; SomeClass B; SomeDerivedClass C; return 0; } всего будет 3 …
102 c++  inheritance  static 

6
строка c_str () vs. data ()
Я читал несколько мест, где разница между c_str()и data()(в STL и других реализациях) заключается в том, что c_str()всегда завершается нулем, а data()нет. Насколько я видел в реальных реализациях, они либо делают то же самое, либо data()вызывают c_str(). Что мне здесь не хватает? Какой из них правильнее использовать в каких сценариях?
102 c++  stl  c-str 

5
Удаление элементов из вектора
Я хочу удалить элемент из вектора с помощью метода стирания. Но проблема здесь в том, что элемент не обязательно встречается в векторе только один раз. Он может присутствовать несколько раз, и мне нужно удалить их все. Мой код выглядит примерно так: void erase(std::vector&lt;int&gt;&amp; myNumbers_in, int number_in) { std::vector&lt;int&gt;::iterator iter = …
102 c++  vector  stl  erase 

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