Preguntas etiquetadas con language-lawyer

124
Lambda regresa: ¿es esto legal?

Considere este programa bastante inútil: #include <iostream> int main(int argc, char* argv[]) { int a = 5; auto it = [&](auto self) { return [&](auto b) { std::cout << (a + b) << std::endl; return self(self); }; }; it(it)(4)(6)(42)(77)(999); } Básicamente...

102
¿Es posible una referencia nula?

¿Es este código válido (y comportamiento definido)? int &nullReference = *(int*)0; Tanto g ++ y sonido metálico ++ compilación sin ninguna advertencia, incluso cuando se utilizan -Wall, -Wextra, -std=c++98, -pedantic, -Weffc++... Por supuesto, la referencia no es realmente nula, ya que no se...

100
¿Es "más si" una sola palabra clave?

Soy nuevo en C ++. A menudo veo una declaración condicional como la siguiente: if statement_0; else if statement_1; Pregunta: Sintácticamente , ¿debo tratar else ifcomo una sola palabra clave? ¿O es en realidad una ifdeclaración anidada dentro del exterior elsecomo se muestra a...

94
¿Este código de la sección 36.3.6 de la cuarta edición del lenguaje de programación C ++ tiene un comportamiento bien definido?

En la sección Operaciones similares a STL del lenguaje de programación C ++ de Bjarne Stroustrup, la cuarta edición, se utiliza el siguiente código como ejemplo de encadenamiento :36.3.6 void f2() { std::string s = "but I have heard it works even if you don't believe in it" ; s.replace(0, 4, ""...