0
ответов

лямбда как статический элемент

Я пытаюсь использовать лямбду в качестве статического члена, например :struct A { static constexpr auto F = [] (){}; }; внутренний основной (){ А ::Ф (); вернуть 0; } Это правильный код C++11? На лязге я...
вопрос задан: 8 June 2014 11:11
0
ответов

Является ли (++ i) ++ неопределенным поведением?

Является ли (++ i) ++ неопределенным поведением? Возможно ли, что побочный эффект приращения префикса происходит после получения увеличенного объекта для работы с приращением постфикса? Это могло показаться странным ...
вопрос задан: 31 May 2014 11:43
0
ответов

Какая свобода компилятора для исключения деструктора?

Хорошо известно, что при определенных условиях компилятор может исключать вызовы конструктора копирования. Тем не менее, стандарт ясно говорит о том, что компилятор может только изменить ...
вопрос задан: 21 April 2014 10:28
0
ответов

Когда следует использовать метод @classmethod и метод def(self)?

При интеграции приложения Django, которым я раньше не пользовался, я обнаружил два разных способа определения функций в классах. Автор, кажется, использует их обоих очень намеренно. Во-первых, я...
вопрос задан: 28 March 2014 17:21
0
ответов

Нужна помощь в понимании того, как \ n, \ b и \ r будут отображать вывод printf

Я написал следующую программу на C, и когда я ее запустил, я был удивлен посмотрев на результат. Вот программа int main () {printf ("\ наб"); printf ("\ BSI"); ...
вопрос задан: 14 October 2013 15:32
0
ответов

Установить для всех байтов int значение (unsigned char)0, гарантированно представляющее ноль?

Это не вопрос рекомендуемой практики (или неопределенного поведения), а вопрос о том, что на самом деле гарантирует стандарт С++ в вопросе преобразования всех байтов целочисленного типа в значение (...
вопрос задан: 21 June 2013 19:57
0
ответов

Чистые виртуальные функции могут не иметь встроенного определения. Почему?

Чистые виртуальные функции - это те функции-члены, которые являются виртуальными и имеют чистый спецификатор (= 0;) Пункт 2 статьи 10.4 C ++ 03 сообщает нам, что такое абстрактный класс, и, в качестве примечания, ...
вопрос задан: 30 March 2013 19:04
0
ответов

Порядок оценки аргументов с использованием std :: cout

Привет всем, сегодня я наткнулся на этот фрагмент кода и не понимаю, что именно происходит и, в частности, в каком порядке: Код: #include bool foo (double & m) {m = ...
вопрос задан: 4 March 2013 16:05
0
ответов

Может ли оценка функции constexpr выполнять оптимизацию хвостовой рекурсии

Интересно, можем ли мы использовать хвостовую рекурсию для constexpr в C ++ 11 для длинных циклов?
вопрос задан: 4 March 2013 15:22
0
ответов

Запутанное описание конструктора по умолчанию кортежа std ::в стандарте ISO C++

Стандарт говорит, что std ::tuple имеет следующие функции-члены constexpr tuple (); явный кортеж (const Types&... ); Может кто-нибудь объяснить, что должно произойти для std ::tuple<&...
вопрос задан: 4 March 2013 15:17
0
ответов

Может ли SFINAE обнаруживать нарушения частного доступа?

Интересно, если я проверяю, является ли какой-то член класса частным, что ответит sfinae? Будет ли он сильно ошибаться, или он скажет ОК, или он будет ошибкой в ​​sfinae?
вопрос задан: 18 February 2013 15:01
0
ответов

Различия между std :: is_integer и std :: is_integral?

C ++ 11 предоставляет два класса шаблонов признаков типа: std :: is_integer и std :: is_integral. Однако я не могу сказать различия между ними. Какой тип, скажем, T, может сделать std :: is_integer :: value ...
вопрос задан: 7 February 2013 21:11
0
ответов

Объединения как базовый класс

Стандарт определяет, что объединения не могут использоваться в качестве базового класса, но есть ли для этого какие-то особые причины? Насколько я понимаю, Unions могут иметь конструкторы, деструкторы, а также переменные-члены, ...
вопрос задан: 6 October 2012 15:18
0
ответов

Законно ли перезаписывать std :: string нулевой терминатор?

В C ++ 11 мы знаем, что std :: string гарантированно будет как непрерывным, так и оканчивающимся нулем (или, более педантично, оканчивающимся charT (), который в случае char является нулевым символом 0). Есть ...
вопрос задан: 5 October 2012 06:53
0
ответов

Повышается ли значение char по умолчанию -?

Это может быть глупый вопрос, но может ли кто-нибудь предоставить стандартную ссылку для С++ 11 и C11 :Является ли char по умолчанию -повышенным до int? Вот небольшая предыстория :И в C, и в C++ есть понятие...
вопрос задан: 9 September 2012 12:31
0
ответов

Можем ли мы использовать va_arg с профсоюзами?

6.7.2.1 В пункте 14 моего проекта стандарта С99 говорится о профсоюзах и указателях (акцент, как всегда, добавлен): Размеры союзов достаточно велики для того, чтобы содержать наибольшее число их членов. ...
вопрос задан: 17 August 2012 00:25
0
ответов

Является ли const-кастинг через объединение неопределенным поведением?

В отличие от C++, в C нет понятия const_cast. То есть, не существует корректного способа преобразовать указатель, имеющий квалификацию const, в указатель без квалификации: void const * p; void * q = p; // нехорошо Во-первых: Является ли ...
вопрос задан: 16 August 2012 15:43
0
ответов

Как Страуструп принимает неконстантную ссылку -на временную?

В книге Страуструпа «Язык программирования C++» (, 3-е издание ), в главе «Числа» он показывает следующий фрагмент кода :void f (valarray& d ){срез _массив<двойной>&...
вопрос задан: 14 August 2012 17:14
0
ответов

По-прежнему ли я получаю конструктор копирования по умолчанию и оператор =, если я определяю их с не -константными аргументами?

В C++, если я определяю конструктор копирования и оператор =, которые принимают не -константную ссылку на класс, должен ли компилятор по-прежнему предоставлять версии по умолчанию для константной ссылки? структура Тест { Тест (...
вопрос задан: 13 August 2012 14:48
0
ответов

Виртуальное наследование и не -конструкторы по умолчанию

Этот код отклонен (как минимум )MSVC, ICC и GCC :класса A { общественное :A (целое ){ } }; класс B :виртуальный публичный A { общедоступный ://B ():A(-1 ){ } // раскомментировать, чтобы сделать его компилируемым...
вопрос задан: 4 August 2012 17:00
0
ответов

Есть ли практическое применение для указателя `volatile restrict`?

Я вижу практическое применение для переменной const volatile qualified, например const volatile uint64_t seconds_since_1970; если базовый аппаратный механизм обновляет значение каждую секунду, но переменная ...
вопрос задан: 2 August 2012 18:09
0
ответов

Один и тот же адрес, несколько общих счетчиков _ptr, запрещено ли это стандартом C++?

Предположим, мне нужно сделать следующее (Это просто какой-то воображаемый код для обсуждения стандарта C++, поэтому я не буду обсуждать, почему я разрабатываю его таким образом, так что не беспокойте меня чем-то...
вопрос задан: 29 July 2012 02:32
0
ответов

Какие выражения создают значения x?

Я пытаюсь понять концепции С++ 11. Стандартный черновик, который у меня есть, говорит :Значение x (, значение «исчезающее» )также относится к объекту, обычно близкому к концу его срока службы (, так что его...
вопрос задан: 26 July 2012 01:30
0
ответов

Размер должен ()== конец()-начать ()? Что насчет актерского состава?

Насколько я понимаю, цель типа размера _и типа различия _— это не просто знак --, он также предназначался для адресации, например. сегментированные архитектуры и тому подобное, где они могут быть разными...
вопрос задан: 26 July 2012 00:43
0
ответов

Действительно ли std ::stoi безопасно использовать?

У меня был прекрасный разговор с кем-то о падениях std ::stoi. Грубо говоря, он использует внутри себя std ::strtol и выдает исключение, если сообщает об ошибке. По их словам, однако, std ::...
вопрос задан: 24 July 2012 11:44
0
ответов

Имеет ли смысл это правило статического анализа C++?

Я реализую некоторые правила статического анализа C++, и одно из них запрещает функции возвращать ссылку или указатель на ссылочный параметр функции, т.е. все следующие не -...
вопрос задан: 21 July 2012 18:15
0
ответов

Нарушает ли доступ к первому полю структуры через приведение C строгое сглаживание?

Нарушает ли этот код строгое использование псевдонимов? структура {инт х;} а; *(int*)&a = 3 Более абстрактно, допустимо ли приведение типов между разными типами, если примитивные операции чтения/записи относятся к типу ...
вопрос задан: 21 July 2012 17:36
0
ответов

Почему компилятор не выдает ошибку, когда указатель typedef const используется с дополнительной константой?

Следующее дает ожидаемую ошибку :int *const const p = new int; // ошибка g++ :дубликат cv -квалификатор Но ниже не выдается никакой ошибки, хотя это эквивалентно приведенному выше :typedef int *const...
вопрос задан: 18 July 2012 04:03
0
ответов

Можно ли использовать имена typedef для объявления или определения конструкторов?

Стандартный :[class.ctor] 12.1/1 говорит, что для объявления или определения конструктора используется специальный синтаксис декларатора. В синтаксисе используется :— необязательный спецификатор decl --seq in...
вопрос задан: 13 July 2012 22:03
0
ответов

Почему разрешены избыточные квалификаторы имени класса?

Я наткнулся на такой код :struct A { A (){} A (int ){} }; struct B :A { void init (int i ); }; void B ::init (int i ){ A ::A (i ); // что это? } int main (){ B b; б....
вопрос задан: 11 July 2012 16:33