0
ответов

Что лучше использовать охранники, чем шаблоны для функций рекурсии в Haskell?

Мне просто интересно узнать о функции рекурсии, которую я выкладываю в Haskell. Что лучше для рекурсивных функций использовать охранники, чем шаблоны? Я просто не уверен, какой макет лучше всего, но ...
вопрос задан: 11 July 2012 04:08
0
ответов

Почему приведение типов в стиле C -является обязательным при инициализации данных POD в списке инициализаторов?

структура POD { int i, j; }; класс A { POD m _pod; общественный :А():m _pod ({1,2} ){} // ошибка A():m _pod (static _cast ({1,2} )){} // ошибка A():m _pod ((POD ){1,2} ){} // хорошо! }; Я вижу...
вопрос задан: 6 June 2012 04:18
0
ответов

Приводит ли использование пространства имен к сокрытию имени?

Рассмотрим следующий код: namespace C { class X {}; } пространство имен A { класс X {}; пространство имен B { использование пространства имен C; Х х; } } Я ожидал, что тип x будет C::...
вопрос задан: 24 May 2012 16:20
0
ответов

Является ли это известной ловушкой C++11 для циклов?

Давайте представим, что у нас есть структура для хранения 3 двойных значений с некоторыми функциями-членами: struct Vector { double x, y, z; // ... Вектор &negate() { x = -x; у = -у; г = -г; вернуть *это; } ...
вопрос задан: 15 May 2012 03:26
0
ответов

Действительно ли new char гарантирует выровненную память для типа класса?

Гарантируется ли выделение буфера с помощью new char[sizeof(T)] для выделения памяти, которая правильно выровнена для типа T, где все члены T имеют свое естественное, определяемое реализацией, выравнивание (что ...
вопрос задан: 14 May 2012 17:03
0
ответов

Могут ли типы в `cname `и `name.h `быть разными?

Соответствует ли этот код стандарту? #включить #include int main (){ FILE *f1 = 0; std ::ФАЙЛ *f2 = f1; } Объяснение :Стандарт говорит [заголовки] :[...]...
вопрос задан: 5 May 2012 21:21
0
ответов

В Python 3.2 есть “ лямбда» считается «ключевым словом», «оператором» или и тем, и другим?

В Python 3.2, согласно этому: http://docs.python.org/py3k/reference/expressions.html#summary самый низкий приоритет в Python И согласно этому: http://docs....
вопрос задан: 4 April 2012 05:13
0
ответов

По какой причине семантика a=a++ не определена?

а = а++; это неопределенное поведение в C. Я задаю вопрос: почему? Я имею в виду, я понимаю, что может быть трудно обеспечить последовательный порядок, в котором все должно быть сделано. Но некоторые компиляторы будут...
вопрос задан: 30 March 2012 13:29
0
ответов

Является ли `X x = x = X();` допустимым в C++?

Я сократил это: struct A {инт * х; A () : х ( х = новый int () ) { } }; к следующему: int m = m = 3; //или структура Х; //... Х х = х = Х(); Мне кажется законным. Я не понимаю, почему вы хотите...
вопрос задан: 26 March 2012 08:48
0
ответов

Является ли размещение динамического массива без указания размера корректным кодом?

Следующий фрагмент простой программы выдает ошибки компиляции с gcc-4.3.4. Программа: int main() { char *ptr = new char[10]; char *ptr1 = новый char[]; вернуть 0; } ...
вопрос задан: 20 March 2012 05:31
0
ответов

В чем разница между std :: quick_exit и std :: abort и зачем нужен std :: quick_exit?

C ++ 11 представляет новый способ завершения выполнения программы - std :: quick_exit. Цитируя N3242 18.5 (стр. 461): [[noreturn]] void quick_exit (int status) noexcept; Эффекты: функции, зарегистрированные ...
вопрос задан: 18 March 2012 16:19
0
ответов

C++11: неоднозначность между конструктором преобразования и функцией преобразования при инициализации параметра передачи по значению?

#include использование пространства имен std; структура Y; структура X { X(const Y&) { cout << "конструктор преобразования" << endl; } }; структура Y { operator X() { cout << "...
вопрос задан: 12 March 2012 02:45
0
ответов

Действительно ли нам нужен «класс перечисления» в C ++ 11?

Когда есть, struct E {enum E_ {HELLO}; }; // 'E' наследуется, тогда зачем нам enum class E {HELLO}; // 'E' не наследуется. Вторая версия IMO не предлагает больше функций, чем ...
вопрос задан: 10 March 2012 04:24
0
ответов

Где стандарт говорит о алиасинге?

Где в стандарте C++ говорится об использовании псевдонимов? Я просмотрел ToC и не увидел упоминания слова «псевдоним». Я попытался посмотреть в одном правиле определения (3.2), и поиск по слову «псевдоним» не дал...
вопрос задан: 6 March 2012 22:06
0
ответов

Почему SFINAE сбивается при смене места специализации шаблона класса? Является ли это ошибкой C++?

Следующий код выдает ожидаемую ошибку компилятора (Демонстрация): 1 template struct Range; 2 3 template > struct Unique; 4 template<...
вопрос задан: 6 March 2012 10:42
0
ответов

Каков ожидаемый результат при переопределении true на false и наоборот?

#include #define true false #define false true int main () {std :: cout << false << true; } Почему выводится «01»?
вопрос задан: 2 March 2012 21:54
0
ответов

Несовместимый способ преобразования подписанного / неподписанного одинакового размера

Боюсь, мне может не хватать чего-то тривиального, но похоже, что нет реального безопасного способа преобразования в / из подписанного типа, если вы хотите сохранить оригинал беззнаковое значение. В reinterpret_cast, 5.2.10 ...
вопрос задан: 28 February 2012 07:15
0
ответов

Несовместимость между безопасной идиомой bool и явным оператором bool

Я думаю о замене всех экземпляров безопасной идиомы bool явным оператором bool в коде, который уже использует функции C ++ 11 (поэтому тот факт, что старые компиляторы не не распознается явным ...
вопрос задан: 21 February 2012 19:05
0
ответов

Is it guaranteed to be safe to perform memcpy(0,0,0)?

I am not so well-versed in the C standard, so please bear with me. I would like to know if it is guaranteed, by the standard, that memcpy(0,0,0) is safe. The only restriction I could find is that if ...
вопрос задан: 16 February 2012 20:16
0
ответов

считывались перед записью не определено с искаженной памятью?

Согласно этому потоку комментариев Reddit, оно не определено, если предпринимается попытка чтения памяти до того, как она была записана. Я имею в виду нормальную память кучи, которая была успешно обработана. ...
вопрос задан: 9 February 2012 22:36
0
ответов

Неявно сгенерированные члены и noexcept

Недавно я начал добавлять новую спецификацию noexcept для перемещения конструкторов / присваиваний везде, где это возможно. Теперь я начал задаваться вопросом, что такое спецификация исключения для неявно сгенерированного члена ...
вопрос задан: 7 February 2012 16:53
0
ответов

Преобразование NaN в Bool: True или False?

В какой части спецификации C ++ или спецификации IEEE float указано, что значение NaN должно преобразовываться в true, а не в ложный? Если я посмотрю на стандартный раздел 4.12 «Логические преобразования» C ++, там написано: A ...
вопрос задан: 6 February 2012 10:15
0
ответов

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

Я писал функцию foo (), которая принимает 2 const char * s в качестве аргументов, pBegin и pEnd. foo () передается строка с завершающим нулем. По умолчанию pEnd указывает на \ 0 (последний символ) строки. void ...
вопрос задан: 5 February 2012 03:44
0
ответов

Потоковая безопасность C11 по отношению к функциям, возвращающим указатели на статические буферы.

Рассмотрите такие функции, как localtime, в Стандартная библиотека C, которая возвращает указатель на (исторически) статический буфер. Делает ли C11 эти буферы локальными для потока? Согласно 7.1.4 в C11: Если явно не ...
вопрос задан: 4 February 2012 05:29
0
ответов

Является ли неопределенным поведением отбрасывать постоянство параметра функции?

Представьте, что у меня есть эта функция на Си (и соответствующий прототип в заголовочном файле) void clearstring(const char *data) { char *dst = (char *)data; *dst = 0; } Есть ли неопределенное поведение в ...
вопрос задан: 31 January 2012 15:52
0
ответов

Что происходит с преобразованием char туда и обратно через bool?

Что обещает определение языка C ++ о приведении char к типу bool, а затем снова к char? char original = 255; bool next = original; char final = следующий; Кроме того, что большинство компиляторов делают в ...
вопрос задан: 31 January 2012 15:42
0
ответов

Определенное поведение для выражений

Стандарт C99 говорит в $ 6.5.2. Между предыдущей и следующей точкой последовательности объект должен иметь свое сохраненное значение, измененное не более одного раза при оценке выражения. Кроме того, ...
вопрос задан: 29 January 2012 19:48
0
ответов

Следует ли glob с GLOB_MARK добавлять / к результатам символьной ссылки на каталог?

Функция glob имеет флаг GLOB_MARK, который указывается для добавления косой черты к результатам, которые являются каталогами: GLOB_MARK Каждое имя пути, являющееся каталогом который соответствует шаблону, должен иметь <...
вопрос задан: 23 January 2012 00:07
0
ответов

Есть ли фиктивное lvalue, которое можно использовать, когда ничего не должно выполняться?

Рассмотрим следующую функцию C99: void port_pin_set (const bool value, const uint8_t pin_mask) {if (значение) {ПОРТ | = pin_mask; } иначе {ПОРТ & = ~ pin_mask; } } С ...
вопрос задан: 18 January 2012 09:14
0
ответов

POD и наследование в C ++ 11. Имеет ли адрес struct == адрес первого члена?

(Я отредактировал этот вопрос, чтобы не отвлекать внимание. Есть один ключевой вопрос, который необходимо прояснить, прежде чем любой другой вопрос будет иметь смысл. Извинения перед любой, чей ответ теперь кажется ...
вопрос задан: 15 January 2012 02:36