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

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


2
Чому shared_ptr <void> легальний, а unique_ptr <void> неправильно сформований?
Питання справді вкладається в заголовок: мені цікаво знати, в чому полягає технічна причина цієї різниці, а також обгрунтування? std::shared_ptr&lt;void&gt; sharedToVoid; // legal; std::unique_ptr&lt;void&gt; uniqueToVoid; // ill-formed;

3
Як отримати положення певного елемента у векторі рядків, використовувати його як індекс у ints векторі?
Я намагаюся отримати індекс елемента у векторі strings, використовувати його як індекс в іншому intтипі вектора , чи це можливо? Приклад: vector &lt;string&gt; Names; vector &lt;int&gt; Numbers; ... // condition to check whether the name exists or not if((find(Names.begin(), Names.end(), old_name_)) != Names.end()) { // if yes cout &lt;&lt;"Enter the …
99 c++ 

3
Як ця людина кодувала "Hello World" за допомогою Microsoft Paint?
Я щойно бачив це протягом останніх кількох днів і не можу зрозуміти, як це працює. Відео, про яке я говорю, тут : Це найкращий відповідь на це запитання щодо переповнення стека: Чому цю програму три компілятори відхилили? Як цей растровий файл може показати програму C ++ для "Hello World"?
99 c++  c  paint 

3
Чи може вказівник на базу вказувати на масив похідних об'єктів?
Я сьогодні пішов на співбесіду на роботу і мені дали це цікаве запитання. Окрім витоку пам’яті та відсутності віртуального dtor, чому цей код виходить з ладу? #include &lt;iostream&gt; //besides the obvious mem leak, why does this code crash? class Shape { public: virtual void draw() const = 0; }; class …
99 c++  pointers 

2
Чому в C ++ 20 вводиться std :: ssize ()?
C ++ 20 представив std::ssize()безкоштовну функцію, як показано нижче: template &lt;class C&gt; constexpr auto ssize(const C&amp; c) -&gt; std::common_type_t&lt;std::ptrdiff_t, std::make_signed_t&lt;decltype(c.size())&gt;&gt;; Можлива реалізація, схоже, використовує static_castдля перетворення повернутого значення size()функції члена cl ass C в його підписаний аналог. Оскільки size()функція члена C завжди повертає негативні значення, чому б хто-небудь хотів зберігати …
99 c++  stl  unsigned  signed  c++20 

12
Препроцесор C ++ __VA_ARGS__ кількість аргументів
Просте запитання, на яке я не зміг знайти відповіді в мережі. Як у макросах різних аргументів як знайти кількість аргументів? Я добре з препроцесором підвищення, якщо він має рішення. Якщо це має значення, я намагаюся перетворити змінну кількість макроаргументів для підвищення послідовності, списку або масиву препроцесора для подальшої обробки.


5
Чому C ++ вимагає користувацького конструктора за замовчуванням для побудови за замовчуванням об’єкта const?
Стандарт C ++ (розділ 8.5) говорить: Якщо програма вимагає ініціалізації за замовчуванням об'єкта типу, призначеного для const, T, T має тип класу з наданим користувачем конструктором за замовчуванням. Чому? Я не можу придумати жодної причини, чому в цьому випадку потрібен наданий користувачем конструктор. struct B{ B():x(42){} int doSomeStuff() const{return x;} …
99 c++ 

4
У чому полягає потреба шаблону лямбда, введеного в C ++ 20, коли в C ++ 14 уже є загальна лямбда?
c ++ 14 представив загальні лямбди, які дали можливість писати наступне: auto func = [](auto a, auto b){ return a + b; }; auto Foo = func(2, 5); auto Bar = func("hello", "world"); Цілком зрозуміло, що ця загальна лямбда funcпрацює так само, як працює шаблонна функція func. Чому комітет C …



13
Функція sequence-zip для c ++ 11?
За допомогою нового циклу for на основі діапазону ми можемо писати код типу for(auto x: Y) {} Який ІМО є значним покращенням порівняно з (наприклад,) for(std::vector&lt;int&gt;::iterator x=Y.begin(); x!=Y.end(); ++x) {} Чи може він використовуватися для циклу через два одночасних циклу, як zipфункція Pythons ? Для тих, хто не знайомий з …
99 c++  c++11  sequences 

11
Як вирішити помилку LNK2019: невирішений зовнішній символ - функція?
Я отримую цю помилку, але не знаю, як її виправити. Я використовую Visual Studio 2013. Я створив ім'я рішення MyProjectTest Це структура мого тестового рішення: - функція.h #ifndef MY_FUNCTION_H #define MY_FUNCTION_H int multiple(int x, int y); #endif -function.cpp #include "function.h" int multiple(int x, int y){ return x*y; } - main.cpp …


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