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

Використовуйте цей тег для коду, який повинен скласти як C ++ 11 (не використовуючи жодних функцій, введених у C ++ 14 або новіших версіях).

7
Забезпечення порядку замовлення заяв у C ++
Припустимо, у мене є ряд тверджень, які я хочу виконати у фіксованому порядку. Я хочу використовувати g ++ з оптимізацією рівня 2, щоб деякі твердження могли бути впорядковані. Які інструменти повинні застосовувати для певного впорядкування заяв? Розглянемо наступний приклад. using Clock = std::chrono::high_resolution_clock; auto t1 = Clock::now(); // Statement 1 …

4
Модулі C ++ - чому їх видалили з C ++ 0x? Чи повернуться вони згодом?
Я щойно відкрив цю стару С ++ 0x чернетку про модулі в C ++ 0x. Ідея полягала в тому, щоб вийти з поточної системи .h / .cpp, записавши лише файли .cpp, які потім створювалимуть файли модулів під час компіляції, які згодом будуть використовуватися іншими .cpp-файлами. Це виглядає як справді чудова …

2
Яке значення лексеми “……”? тобто оператор подвійного еліпсису в пакеті параметрів
Переглядаючи поточну реалізацію нових заголовків C ++ 11 gcc, я натрапив на маркер "......". Ви можете переконатись, що наступний код складається добре [через ideone.com]. template <typename T> struct X { /* ... */ }; template <typename T, typename ... U> struct X<T(U......)> // this line is the important one { …

5
std :: next_permutation Пояснення реалізації
Мені було цікаво, як це std:next_permutationбуло реалізовано, тому я витягнув gnu libstdc++ 4.7версію і дезінфікував ідентифікатори та форматування для отримання наступних демонстрацій ... #include <vector> #include <iostream> #include <algorithm> using namespace std; template<typename It> bool next_permutation(It begin, It end) { if (begin == end) return false; It i = begin; …

5
Як правильно передати параметри?
Я початківець C ++, але не початківець програмування. Я намагаюся вивчити C ++ (c ++ 11), і це для мене якось незрозуміло: найголовніше: проходження параметрів. Я розглянув такі прості приклади: Клас, який має всіх членів примітивних типів: CreditCard(std::string number, int expMonth, int expYear,int pin):number(number), expMonth(expMonth), expYear(expYear), pin(pin) Клас, у складі …
108 c++  c++11 

3
std :: shared_ptr пояснено безпеку потоку
Я читаю http://gcc.gnu.org/onlinedocs/libstdc++/manual/shared_ptr.html, а деякі проблеми безпеки потоку для мене все ще не зрозумілі: Стандарт гарантує, що підрахунок посилань обробляється безпечним потоком, і це незалежно від платформи, правда? Аналогічна проблема - стандартні гарантії того, що лише один потік (з останнім посиланням) буде викликати видалення на спільному об'єкті, правда? shared_ptr не …
106 c++  c++11  shared-ptr 


2
Чи має на увазі constexpr вбудований?
Розглянемо наступну вбудовану функцію: // Inline specifier version #include<iostream> #include<cstdlib> inline int f(const int x); inline int f(const int x) { return 2*x; } int main(int argc, char* argv[]) { return f(std::atoi(argv[1])); } і еквівалентна версія constexpr: // Constexpr specifier version #include<iostream> #include<cstdlib> constexpr int f(const int x); constexpr int …

8
Як перевірити підтримку C ++ 11?
Чи є спосіб виявити під час компіляції, якщо компілятор підтримує певні функції C ++ 11? Наприклад, щось подібне: #ifndef VARIADIC_TEMPLATES_SUPPORTED #error "Your compiler doesn't support variadic templates. :(" #else template <typename... DatatypeList> class Tuple { // ... } #endif
104 c++  c++11 

2
Як std :: move () передає значення в RValues?
Я просто виявив, що не повністю розумію логіку std::move(). Спочатку я погуглив це, але здається, що є лише документи про те, як користуватися std::move(), а не як працює його структура. Я маю на увазі, я знаю, що таке функція члена шаблону, але коли я std::move()вивчаю визначення у VS2010, воно все …

3
Чи додає C ++ 14 нові ключові слова до C ++?
Комітет зі стандартів C ++, як правило, ухиляється від додавання нових ключових слів до мови, але це стосується C ++ 11. Деякі приклади: constexpr decltype thread_local auto // New usage noexcept nullptr static_assert alignof alignas Чи є нові ключові слова, введені за допомогою C ++ 14?
103 c++  c++11  keyword  c++14 

4
Де поділяється_ptr?
Я так засмучений зараз через кілька годин, намагаючись знайти місце, де знаходиться спільний_ptr. Жоден із прикладів, які я бачу, не містить повного коду, щоб включити заголовки для shared_ptr(та працюючих). Просто констатуючи std, tr1і <memory>зовсім не допомагає! Я завантажив прискорення, і все, але все ще не відображається! Чи може хтось мені …

7
У C ++ все-таки погана практика повертати вектор з функції?
Коротка версія: великі об'єкти (наприклад, вектори / масиви) зазвичай повертаються багатьма мовами програмування. Чи прийнятний цей стиль в C ++ 0x, якщо в класі є конструктор ходу, чи програмісти C ++ вважають це дивним / потворним / гидотою? Довга версія: У C ++ 0x це все ще вважається поганою формою? …

4
Ініціалізація за замовчуванням std :: array?
std::arrayЧи маю я в C ++ 11 гарантію, що синтаксис std::array<T, N> x;ініціалізує за замовчуванням всі елементи масиву? РЕДАГУВАТИ : якщо ні, чи існує синтаксис, який працюватиме на всіх масивах (включаючи масиви нульового розміру), щоб ініціалізувати всі елементи за значенням за замовчуванням? EDIT : на cppreference в описі конструктора за …

12
Підтримка Visual Studio для нових стандартів C / C ++?
Я продовжую читати про C99 та C ++ 11 та всі ці цілком приємні речі, які додаються до мовного стандарту, які, можливо, колись приємно використовувати. Однак ми зараз знемагаємо на землі написання C ++ у Visual Studio. Чи будь-який новий матеріал у стандарті коли-небудь буде доданий до візуальної студії, чи …

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