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

159
C ++ valarray против вектора

Я очень люблю векторы. Они изящны и быстры. Но я знаю, что существует то, что называется valarray. Зачем мне использовать valarray вместо вектора? Я знаю, что у valarrays есть некоторый синтаксический сахар, но кроме этого, когда они...

159
'typeid' против 'typeof' в C ++

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

159
Как печатать на консоль при использовании Qt

Я использую Qt4 и C ++ для создания некоторых программ в компьютерной графике. Мне нужно иметь возможность печатать некоторые переменные в консоли во время выполнения, не отлаживая, но cout, похоже, не работает, даже если я добавляю библиотеки. Есть ли способ сделать...

159
Самый быстрый способ захвата экрана в Windows

Я хочу написать программу для экрана для платформы Windows, но не знаю, как сделать снимок экрана. Единственный известный мне метод - это использовать GDI, но мне любопытно, есть ли другие способы сделать это, и, если есть, то какие издержки наименьшие? Скорость является приоритетом. Программа для...

159
Использование умных указателей для учеников

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

159
Что на самом деле означает «память, выделенная во время компиляции»?

В языках программирования, таких как C и C ++, люди часто ссылаются на статическое и динамическое распределение памяти. Я понимаю концепцию, но фраза «Вся память была выделена (зарезервирована) во время компиляции» всегда смущает меня. Компиляция, насколько я понимаю, преобразует код высокого...

158
Как использовать API сокетов C в C ++ в z / OS

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

158
Как выйти из функции void в C ++?

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

158
Использование __FILE__, __LINE__ и __FUNCTION__ в C ++

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

158
Моя попытка инициализации значения интерпретируется как объявление функции, и почему не A a (()); реши?

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

158
Почему выпадение из конца непустой функции без возврата значения не приводит к ошибке компилятора?

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

158
Как члены класса 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() {} }; И тогда я...

158
Генерация случайного целого числа из диапазона

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

158
Статические переменные в функциях-членах

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

158
Известен ли порядок итерации через std :: map (и гарантирован стандартом)?

Я имею в виду, что мы знаем, что std::mapэлементы отсортированы по ключам. Итак, допустим, что ключи являются целыми числами. Если я итерация от std::map::begin()с std::map::end()использованием for, делает стандартную гарантию того, что я буду перебирать , следовательно , через элементы с ключами,...

157
Ошибка C ++: неопределенная ссылка на «clock_gettime» и «clock_settime»

Я довольно новичок в Ubuntu, но я не могу заставить это работать. Он отлично работает на моих школьных компьютерах, и я не знаю, что я не делаю. Я проверил usr / include и time.h там просто отлично. Вот код: #include <iostream> #include <time.h> using namespace std; int main() {...

157
C ++ наследование - недоступная база?

Кажется, я не могу использовать базовый класс в качестве параметра функции, не испортил ли я свое наследование? У меня есть следующее в моей главной: int some_ftn(Foo *f) { /* some code */ }; Bar b; some_ftn(&b); И класс Bar наследуется от Foo таким образом: class Bar : Foo { public: Bar();...

157
Переместить захват в лямбду

Как мне перехватить по ходу (также известный как rvalue reference) в лямбда-выражении C ++ 11? Я пытаюсь написать что-то вроде этого: std::unique_ptr<int> myPointer(new int); std::function<void(void)> example = [std::move(myPointer)]{ *myPointer = 4;...