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

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

2
Использование умных указателей для учеников
У меня проблемы с пониманием использования умных указателей в качестве членов класса в C ++ 11. Я много читал об умных указателях и думаю, что понимаю, как unique_ptrи shared_ptr/ или weak_ptrработаю в целом. То, что я не понимаю, является реальным использованием. Кажется, что все рекомендуют использовать unique_ptrкак способ идти почти …

6
'typeid' против 'typeof' в C ++
Мне интересно, в чем разница между typeidи typeofв C ++. Вот что я знаю: typeidупоминается в документации для type_info, которая определена в заголовочном файле C ++ typeinfo . typeofопределяется в расширении GCC для C и в библиотеке C ++ Boost . Кроме того, вот тестовый код, который я создал, где …
159 c++  typeof  typeid 

14
Шаблоны C ++, которые принимают только определенные типы
В Java вы можете определить универсальный класс, который принимает только те типы, которые расширяют класс по вашему выбору, например: public class ObservableList<T extends List> { ... } Это делается с помощью ключевого слова "extends". Есть ли какой-нибудь простой эквивалент этого ключевого слова в C ++?
159 c++  templates 

5
Моя попытка инициализации значения интерпретируется как объявление функции, и почему не A a (()); реши?
Среди многих вещей, которым научил меня переполнение стека, является то, что известно как «самый неприятный синтаксический анализ», что классически демонстрируется такой строкой, как A a(B()); //declares a function Хотя для большинства это интуитивно кажется объявлением объекта aтипа A, принимая временный Bобъект в качестве параметра конструктора, на самом деле это объявление …
158 c++ 

13
Генерация случайного целого числа из диапазона
Мне нужна функция, которая генерирует случайное целое число в заданном диапазоне (включая значения границ). У меня нет необоснованных требований к качеству / случайности, у меня есть четыре требования: Мне нужно, чтобы это было быстро. Мой проект должен генерировать миллионы (а иногда даже десятки миллионов) случайных чисел, и моя текущая функция …
158 c++  random 

6
Использование __FILE__, __LINE__ и __FUNCTION__ в C ++
Предположив , что ваш компилятор C ++ поддерживает их, есть ли конкретная причина не в использовании __FILE__, __LINE__и __FUNCTION__для регистрации и целей отладки? В первую очередь меня интересует предоставление пользователю вводящих в заблуждение данных - например, сообщение о неправильном номере строки или функции в результате оптимизации - или снижение производительности …

4
Как выйти из функции void в C ++?
Как вы можете преждевременно выйти из функции, не возвращая значение, если это функция void? У меня есть метод void, который не должен выполнять свой код, если выполняется определенное условие. Я действительно не хочу менять метод, чтобы фактически вернуть значение.
158 c++ 

9
Почему выпадение из конца непустой функции без возврата значения не приводит к ошибке компилятора?
С тех пор, как я понял много лет назад, что это не приводит к ошибке по умолчанию (по крайней мере, в GCC), я всегда задавался вопросом, почему? Я понимаю, что вы можете использовать флаги компилятора для выдачи предупреждения, но не должно ли это быть ошибкой? Почему имеет смысл, чтобы не …
158 c++  c  gcc  g++ 

4
Статические переменные в функциях-членах
Может кто-нибудь объяснить, как статические переменные в функциях-членах работают в C ++. Учитывая следующий класс: class A { void foo() { static int i; i++; } } Если я объявляю несколько экземпляров A, foo()увеличивает ли вызов одного экземпляра статическую переменную iво всех экземплярах? Или только тот, который был вызван? Я …
158 c++  static  scope 

9
Как использовать API сокетов C в C ++ в z / OS
У меня возникают вопросы , получить С Sockets API для работы должным образом C++на z/OS. Хотя я включаю sys/socket.h, я все еще получаю ошибки времени компиляции, говорящие мне, что AF_INETэто не определено . Я упускаю что-то очевидное или это связано с тем, что z/OSмои проблемы намного усложняют мои проблемы? Обновление …
158 c++  c  sockets  mainframe  zos 

6
Известен ли порядок итерации через std :: map (и гарантирован стандартом)?
Я имею в виду, что мы знаем, что std::mapэлементы отсортированы по ключам. Итак, допустим, что ключи являются целыми числами. Если я итерация от std::map::begin()с std::map::end()использованием for, делает стандартную гарантию того, что я буду перебирать , следовательно , через элементы с ключами, сортируются в порядке возрастания? Пример: std::map<int, int> map_; map_[1] …
158 c++  dictionary  stl  standards 

8
Как члены класса C ++ инициализируются, если я не делаю это явно?
Предположим , у меня есть класс с частными ЧЛЕНОВ ptr, name, pname, rname, crnameи age. Что произойдет, если я сам их не инициализирую? Вот пример: class Example { private: int *ptr; string name; string *pname; string &rname; const string &crname; int age; public: Example() {} }; И тогда я делаю: …

4
Ошибка C ++: неопределенная ссылка на «clock_gettime» и «clock_settime»
Я довольно новичок в Ubuntu, но я не могу заставить это работать. Он отлично работает на моих школьных компьютерах, и я не знаю, что я не делаю. Я проверил usr / include и time.h там просто отлично. Вот код: #include <iostream> #include <time.h> using namespace std; int main() { timespec …
157 c++  linux  ubuntu  posix  time.h 



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