Запитання з тегом «c++»

C ++ - мова програмування загального призначення. Спочатку він був розроблений як розширення до C і має подібний синтаксис, але зараз це зовсім інша мова. Використовуйте цей тег для запитань про код (який потрібно) зібрати за допомогою компілятора C ++. Використовуйте тег, що стосується версії, для питань, пов’язаних із конкретною стандартною редакцією [C ++ 11], [C ++ 14], [C ++ 17] або [C ++ 20] тощо.

14
Використання функцій min та max у C ++
Від C ++, є minі maxкраще fminі fmax? Для порівняння двох цілих чисел вони забезпечують в основному однакову функціональність? Чи схильні ви використовувати один із цих наборів функцій, чи віддаєте перевагу писати власні (можливо, для підвищення ефективності, портативності, гнучкості тощо)? Примітки: Стандартна бібліотека шаблонів C ++ (STL) оголошує minі maxфункції …
77 c++  c  max  min 

7
Як прочитати весь потік у std :: рядок?
Я намагаюся прочитати цілий потік (кілька рядків) у рядок. Я використовую цей код, і він працює, але це ображає моє почуття стилю ... Напевно, є простіший спосіб? Може, за допомогою струнних потоків? void Obj::loadFromStream(std::istream & stream) { std::string s; std::streampos p = stream.tellg(); // remember where we are stream.seekg(0, std::ios_base::end); …
77 c++  string  stream 


5
std :: lexical_cast - чи є таке?
Чи визначає стандартну бібліотеку C ++ цю функцію, чи мені доводиться вдаватися до Boost? Я шукав в Інтернеті і не міг знайти нічого, крім Boost, але я подумав, що мені краще запитати тут.

7
Неможливо використовувати клас перелічення як ключ unordered_map
У мене є клас, що містить клас enum. class Shader { public: enum class Type { Vertex = GL_VERTEX_SHADER, Geometry = GL_GEOMETRY_SHADER, Fragment = GL_FRAGMENT_SHADER }; //... Потім, коли я реалізую наступний код в іншому класі ... std::unordered_map<Shader::Type, Shader> shaders; ... Я отримую помилку компіляції. ...usr/lib/c++/v1/type_traits:770:38: Implicit instantiation of undefined …
77 c++  c++11  map  enums  enum-class 


3
Як користуватися бібліотеками
Чомусь я ніколи не можу користуватися зовнішніми бібліотеками жодною мовою. Я шукаю інструкції / пояснення щодо використання зовнішніх бібліотек, а також як вони працюють. Коли я шукаю в Інтернеті, я отримую фрагменти, які ніколи не стосуються будь-якої бібліотеки, яку я завантажую та намагаюся використовувати. Я працюю як на Mac, так …
77 c++  windows  macos 

13
Покажчик базового класу може вказувати на похідний об'єкт класу. Чому навпаки не відповідає дійсності?
Покажчик базового класу може вказувати на похідний об'єкт класу. Чому навпаки неправда без кастингу? Логічно, що базовий клас не матиме достатньо інформації про похідний клас, але похідний клас також повинен мати інформацію про базовий клас. Тут мені не вистачає деяких основ.
77 c++ 

4
Чи відрізняється продуктивність між Python або C ++ кодуванням OpenCV?
Я прагну запустити opencv потроху, але спочатку мені потрібно вирішити, який API OpenCV є більш корисним. Я передбачаю, що реалізація Python коротша, але час роботи буде більш щільним і повільним порівняно з власними реалізаціями C ++. Чи є хтось, хто може прокоментувати різницю між продуктивністю та кодуванням між цими двома …


14
Якщо 32-бітне ціле число переповнюється, чи можна використовувати 40-бітну структуру замість 64-бітної?
Якщо, скажімо, 32-бітове ціле число переповнюється, замість того, щоб оновити intдо long, чи можемо ми використовувати якийсь 40-бітний тип, якщо нам потрібен діапазон лише в межах 2 40 , так що ми зберігаємо 24 (64-40) біти для кожного ціле число? Якщо так, то як? Я маю справу з мільярдами, і …

10
Навіщо використовувати !! при перетворенні int на bool?
Що може бути причиною для перетворення цілого числа в логічне значення таким чином? bool booleanValue = !!integerValue; замість просто bool booleanValue = integerValue; Мені відомо лише те, що у VC ++ 7 остання спричинить попередження C4800, а перша - ні. Чи є якась інша різниця між ними?
76 c++  integer  boolean 

3
c ++ ціле число-> std :: перетворення рядків. Проста функція?
Проблема: у мене ціле число; це ціле число потрібно перетворити на тип stl :: string. Раніше я раніше stringstreamробив перетворення, і це просто трохи громіздко. Я знаю, що спосіб C - це зробити a sprintf, але я б набагато краще зробив метод C ++, який є типозахищеним (er). Чи є …
76 c++  integer  stdstring 

5
Що означає цей вислів typedef?
На довідковій сторінці C ++ вони містять кілька прикладів typedef, і я намагаюся зрозуміти, що вони означають. // simple typedef typedef unsigned long mylong; // more complicated typedef typedef int int_t, *intp_t, (&fp)(int, mylong), arr_t[10]; Тож простий typedef (перше оголошення) я розумію. Але що вони заявляють з другим (повторене нижче)? …
76 c++  typedef 

6
Отримання boost :: shared_ptr для цього
Я широко використовую boost:shared_ptrсвій код. Насправді більшість об'єктів, що виділяються в купі, утримуються a shared_ptr. На жаль, це означає, що я не можу перейти thisдо жодної функції, яка займає a shared_ptr. Розглянемо цей код: void bar(boost::shared_ptr<Foo> pFoo) { ... } void Foo::someFunction() { bar(this); } Тут є дві проблеми. По-перше, …
76 c++  boost 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.