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

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

4
Що таке оптимізація копіювання і оптимізація повернення?
Що таке копіювання elision? Що таке (названа) оптимізація повернення? Що вони мають на увазі? У яких ситуаціях вони можуть виникнути? Що таке обмеження? Якщо ви посилалися на це питання, ви, ймовірно, шукаєте вступу . Технічний огляд див. У стандартній довідці . Дивіться поширені випадки тут .


5
Який термін служби статичної змінної у функції C ++?
Якщо змінна оголошена як staticсфера функції, вона ініціалізується лише один раз і зберігає своє значення між викликами функції. Який саме його термін експлуатації? Коли викликають його конструктор та деструктор? void foo() { static string plonk = "When will I die?"; }
373 c++  static  lifetime 

30
Порівняння рядкових рядків у регістрі C ​​++ [закрито]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Закрито 2 роки тому . Відповіді на це запитання - це зусилля громади . Відредагуйте наявні відповіді, щоб покращити цю публікацію. Наразі не приймає нових відповідей чи взаємодій. Який найкращий спосіб порівняння рядків, нечутливих до регістру, у C …
373 c++  string 


12
Чи є якась перевага використання карти над unordered_map у разі тривіальних ключів?
Нещодавно розмова про unordered_mapC ++ дала мені зрозуміти, що я повинен використовуватись unordered_mapу більшості випадків, коли я використовував mapраніше, через ефективність пошуку ( амортизований O (1) проти O (log n) ). У більшості випадків я використовую карту, я використовую intабо std::stringключовий тип; отже, у мене немає проблем із визначенням хеш-функції. …



1
Шаблон C ++ typedef
У мене клас template<size_t N, size_t M> class Matrix { // .... }; Я хочу зробити a, typedefякий створює Vector(вектор стовпця), який еквівалентний a Matrixз розмірами N та 1. Щось таке: typedef Matrix<N,1> Vector<N>; Що створює помилку компіляції. Далі створюється щось подібне, але не зовсім те, що я хочу: template …
368 c++  templates  c++11  typedef 


5
Повернення унікальних_ptr з функцій
unique_ptr<T>не дозволяє створювати копію, натомість підтримує семантику переміщення. Тим не менш, я можу повернути a unique_ptr<T>з функції і призначити повернене значення змінній. #include <iostream> #include <memory> using namespace std; unique_ptr<int> foo() { unique_ptr<int> p( new int(10) ); return p; // 1 //return move( p ); // 2 } int main() …
367 c++  c++11  unique-ptr 

5
Компіляція C ++ 11 з g ++
Я намагаюся оновити свій компілятор C ++ до C ++ 11. Я шукав трохи , і я прийшов до висновку , що я повинен використовувати прапор -std=c++0xабо -std=gnu++0x, але я не знаю багато про прапори. Хтось може мені допомогти? (Я використовую Ubuntu 12.04.) Ось помилка, яку я отримую від компілятора, …
367 c++  c++11  g++  flags 

9
Відмінності між рядком C ++ == та порівнянням ()?
Я просто прочитав деякі рекомендації щодо використання std::string s = get_string(); std::string t = another_string(); if( !s.compare(t) ) { замість if( s == t ) { Я майже завжди використовую останній, тому що я звик до цього, і він відчуває себе природніше, читабельніше. Я навіть не знав, що існує окрема …
363 c++  string 

16
Проаналізуйте (розділити) рядок на C ++, використовуючи роздільник рядків (стандартний C ++)
Я розбираю рядок у C ++, використовуючи наступне: using namespace std; string parsed,input="text to be parsed"; stringstream input_stringstream(input); if (getline(input_stringstream,parsed,' ')) { // do some processing. } Розбір з одним роздільником лінійки добре. Але що робити, якщо я хочу використовувати рядок як роздільник. Приклад: Я хочу розділити: scott>=tiger з >=розмежувачем, …
361 c++  parsing  split  token  tokenize 


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