list-initialization
¿Por qué la inicialización de listas (usando llaves) es mejor que las alternativas?
MyClass a1 {a}; // clearer and less error-prone than the other three
MyClass a2 = {a};
MyClass a3 = a;
MyClass a4(a);
Por Qué?
No pude encontrar una respuesta en SO, así que déjame responder a mi propia pregunta.
¿Por qué se compila este código (C++11) sin un error de desajuste de tipo?
std::vector<char> p = {"abc", "def"};
"abc" y "def" no son char, ¿por qué el compilador no me da un error sobre este tipo de desajuste?
Constructor predeterminado eliminado. Los objetos todavía se pueden crear sometimes a veces
El ingenuo, optimista y oh.. así que visión equivocada de la sintaxis de inicialización uniforme de c++11
Pensé que desde C+ ... ROR: use of deleted function `foo::foo()`
/* Fb */ foo f{3}; // ERROR: no matching function to call `foo::foo(init list)`
Reducir la conversión a bool en la lista-inicialización-comportamiento extraño
Considere esta pieza de código de C++11:
#include <iostream>
struct X
{
X(bool arg) { std::cout << arg < ... s tipos integrales.48 A el sinónimo de tipo integral es tipo entero.
(Estaba empezando a cuestionar todo en esta etapa...)