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

113
Вызов методов класса C ++ через указатель на функцию

Как получить указатель на функцию для функции-члена класса, а затем вызвать эту функцию-член с конкретным объектом? Я хочу написать: class Dog : Animal { Dog (); void bark (); } … Dog* pDog = new Dog (); BarkFunction pBark = &Dog::bark; (*pBark) (pDog); … Также, если возможно, я хотел бы...

113
Какой способ вставки на карту является предпочтительным / идиоматическим?

Я выделил четыре разных способа вставки элементов в std::map: std::map<int, int> function; function[0] = 42; function.insert(std::map<int, int>::value_type(0, 42)); function.insert(std::pair<int, int>(0, 42)); function.insert(std::make_pair(0, 42)); Какой из них предпочтительный /...

113
Невозможно загрузить DLL (модуль не найден HRESULT: 0x8007007E)

У меня есть библиотека dll с неуправляемым кодом C ++ API, который мне нужно использовать в моем приложении .NET 4.0. Но каждый метод, которым я пытаюсь загрузить свою dll, выдает ошибку: Невозможно загрузить библиотеку DLL MyOwn.dll: указанный модуль не найден. (Исключение из HRESULT: 0x8007007E)...

113
бросить новый std :: exception vs throw std :: exception

глядя на код, на который я наткнулся: throw /*-->*/new std::exception ("//... и я всегда думал, что тебе здесь не нужно / не стоит использовать new. Как правильно, оба в порядке, если да, есть ли разница? Кстати, из того, что я вижу, когда "grepping" с помощью PowerShell boost libs никогда не...

113
Есть ли автоматический вывод типа в Java?

Есть ли autoв Java такой тип переменной, как в C ++? Пример: for ( auto var : object_array) std::cout << var << std::endl; for( auto var : object_array) var.do_something_that_only_this_particular_obj_can_do(); Я знаю, что в Java есть расширенный цикл for, но есть ли автоматический? Если...

113
Это int main; действующая программа на C / C ++?

Я спрашиваю, потому что мой компилятор, кажется, так думает, хотя я этого не делаю. echo 'int main;' | cc -x c - -Wall echo 'int main;' | c++ -x c++ - -Wall Clang не выдает никаких предупреждений или ошибок при этом, а gcc выдает только кроткое предупреждение:, 'main' is usually a function...

113
Почему мы можем использовать std :: move для объекта const?

В C ++ 11 мы можем написать такой код: struct Cat { Cat(){} }; const Cat cat; std::move(cat); //this is valid in C++11 когда я звоню std::move, это означает, что я хочу переместить объект, т.е. я изменю объект. Перемещать constобъект нецелесообразно, так почему бы std::moveне ограничить такое...

113
При использовании заголовков C в C ++ должны ли мы использовать функции из std :: или глобального пространства имен?

C в некоторой степени, не совсем так, является подмножеством C ++. Таким образом, мы можем использовать большинство функций / заголовков C в C ++, немного изменив имя ( stdio.hна cstdio, stdlib.hна cstdlib). На самом деле мой вопрос носит семантический характер. В коде C ++ ( с использованием...

113
Как кратко, портативно и тщательно засеять ГПСЧ mt19937?

Кажется, я вижу много ответов, в которых кто-то предлагает использовать <random>для генерации случайных чисел, обычно вместе с таким кодом: std::random_device rd; std::mt19937 gen(rd()); std::uniform_int_distribution<> dis(0, 5); dis(gen); Обычно это заменяет какую-то «нечестивую...

112
Лучшее введение в метапрограммирование шаблонов C ++? [закрыто]

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

112
#ifdef vs #if - что лучше / безопаснее как метод включения / отключения компиляции определенных участков кода?

Это может быть вопросом стиля, но в нашей команде разработчиков есть некоторые разногласия, и мне было интересно, есть ли у кого-нибудь еще какие-нибудь идеи по этому поводу ... По сути, у нас есть некоторые отладочные операторы печати, которые мы отключаем во время нормальной разработки. Лично я...

112
Зачем приводить неиспользуемые возвращаемые значения к void?

int fn(); void whatever() { (void) fn(); } Есть ли причина приводить неиспользованное возвращаемое значение к void, или я прав, думая, что это пустая трата времени? Следовать за: Что ж, это кажется довольно всеобъемлющим. Я полагаю, это лучше, чем комментировать неиспользованное возвращаемое...

112
Cout синхронизирован / потокобезопасен?

В общем, я предполагаю, что потоки не синхронизируются, пользователь должен выполнить соответствующую блокировку. Однако есть ли coutособая обработка в стандартной библиотеке? То есть, если несколько потоков пишут, coutмогут ли они повредить coutобъект? Я понимаю, что даже при синхронизации вы все...

112
Можно ли преобразовать класс перечисления в базовый тип?

Есть ли способ преобразовать enum classполе в базовый тип? Я думал, что это будет автоматически, но, видимо, нет. enum class my_fields : unsigned { field = 1 }; unsigned a = my_fields::field; Это задание отклоняется GCC. error: cannot convert 'my_fields' to 'unsigned int' in...