language-lawyer

это компилируется без каких-либо предупреждений. это законно в C и C++ или это просто работает в gcc и clang? если это законно, это какая-то новая вещь после C99? void f(){ } void f2(){ return f(); } обновление как" рад Лексус " предложил я попробовал это: $ gcc -Wall -Wpedantic -c x.c x.c: In f...

этот вопрос уже есть ответ здесь: является ли 0 десятичным литералом или восьмеричным литералом? 3 ответы Я прочитала этой. Это восьмеричное в C++ и десятичное в Java. Но нет описания о C? будет ли иметь значение, ес...

на c++03 Это довольно ясно, что удаление нулевого указателя не имеет никакого эффекта. Действительно, это явно указано в §5.3.5/2 что: в любом варианте, если значение операнда delete является нулевым указателем, операция не имеет эффекта. однако, в текущем проект на c++0x это предложение, кажется, отсу...

когда у нас есть, struct E { enum E_ { HELLO }; }; // 'E' is inheritable тогда зачем нам это нужно, enum class E { HELLO }; // 'E' is not inheritable ИМО 2-й версии не предлагает больше возможностей, чем 1-й. Я не думаю, что enum class вводится только для сохранения 2 фигурных скобок {};! Я упускаю как...

при интеграции приложения Django, которое я не использовал раньше, я нашел два разных способа определения функций в классах. Автор, похоже, использует их обоих очень намеренно. Первый - это тот, который я сам использую много: class Dummy(object): def some_function(self,*args,**kwargs): do someth...

введение с C++14 (ака. C++1y) стандарт в состоянии, близком к окончательному, программисты должны спросить себя о обратной совместимости и проблемах, связанных с такими. вопрос в ответах на этот вопрос говорится, что стандарт имеет приложение посвящен информации об изменениях между переделки. было бы пол...

я случайно написал такой код: foo = [42] k = {'c': 'd'} for k['z'] in foo: # Huh?? print k но, к моему удивлению, это не синтаксическая ошибка. Вместо этого он печатает {'c': 'd', 'z': 42}. мой Угадай это то, что код переводится буквально на что-то вроде: i = iter(foo) while True: try: ...

struct A { ~A() = delete; }; int main() { new A{}; } это не удается скомпилировать с сообщением об ошибке: ошибка: использование удаленной функции ' A::~A()' новый A{}; Как я понимаю, я не уничтожаю объект, так почему он пытается вызвать деструктор? составлен с GCC 8.1.0 g++ ...

C++11 14.8.2 -Вывод Аргумента Шаблона -[temp.deduct] 7 подстановка происходит во всех типах и выражениях, которые используются в типе функции и в объявлениях параметров шаблона. Выражения включают в себя не только постоянные выражения, такие как те, которые появляются в границах массива или в ка...

мне интересно, если std::is_unsigned<bool>::value хорошо определяется в соответствии со стандартом или нет? Я задаю вопрос, потому что typename std::make_unsigned<bool>::type Не определен....