aggregate-initialization
Inicializar una matriz miembro en el inicializador del constructor
class C
{
public:
C() : arr({1,2,3}) //doesn't compile
{}
/*
C() : arr{1,2,3} //doesn't compile either
{}
*/
pr ... el problema?
P.d. Por favor, no mencione vectores, boost::arrays, y su superioridad a los arrays, que soy muy consciente de.
¿Cuándo un constructor privado no es un constructor privado?
Digamos que tengo un tipo y quiero hacer privado su constructor predeterminado. Escribo lo siguiente:
class C {
C() = d ...
}
Esto me parece un comportamiento muy sorprendente, inesperado y explícitamente no deseado. ¿Por qué esto está bien?
Reducir las conversiones en C++0x. ¿Soy solo yo, o esto suena como un cambio radical?
C++0x va a hacer el siguiente código y código similar mal formado, porque requiere una llamada conversión de estrechamiento d ... la conversión se ajustará al tipo de destino y producirá el valor original cuando se convierta de nuevo al tipo original.
Brace elision en std:: inicialización de matriz
Supongamos que hay un std::array a inicializar. Está bien si se usan llaves dobles:
std::array<int, 2> x = {{0, 1}};
... correcto en su tratamiento del tercer fragmento? ¿Ocurre la elisión del corsé en la inicialización de la lista, o no ocurre?
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)`
¿Puedo hacer referencia a Miembros Anteriores de una Lista Inicializadora?
Digamos que quiero hacer referencia a un miembro de un initializer_list que ya he definido. ¿Puedo hacerlo?
Este código comp ... erado: "13 55" tanto en Visual Studio como en gcc , me gustaría saber que es legal:
const int foo[2] = {13, foo[0] + 42};