Articles of inicialización de

¿Cómo puedo hacer `new ` default-initialize the array of primitive types?

De vez en cuando necesito llamar a new[] para tipos incorporados (generalmente char ). El resultado es una matriz con valores no inicializados y tengo que usar memset() o std::fill() para inicializar los elementos. ¿Cómo realizo new[] default-initialize los elementos?

Inicializando una estructura a 0

Si tengo una estructura como esta: typedef struct { unsigned char c1; unsigned char c2; } myStruct; ¿Cuál sería la forma más fácil de inicializar esta estructura en 0? Sería suficiente lo siguiente? myStruct _m1 = {0}; o ¿Tendría que iniciar explícitamente cada miembro a 0? myStruct _m2 = {0,0};

¿Por qué la inicialización de una nueva variable es válida en sí misma?

Considera un código: #include int main() { using std::cout; int a=3; cout << "a="<<a<<"\n"; { int a=a; cout << "new a = " << a << "\n"; a=5; cout << "a = " << a << "\n"; } cout << "old a = " << a << "\n"; } Esperaría que imprima a=3 new a […]

Definición muy simple de InitializeComponent (); Método

He estado trabajando en el libro de Head First C # y he usado InitializeComponent (); método varias veces. Un ejemplo de esto es en el ejercicio Party Planner. Creé una clase llamada DinnerParty.cs y luego usé este código en Form1.cs. public Form1() { InitializeComponent(); dinnerParty = new DinnerParty() { NumberOfPeople = 5 }; dinnerParty.SetHealthyOption(checkBox2.Checked); […]

¿Cómo se inicializan las variables locales y globales por defecto?

Basado en abajo, ¿estoy en lo cierto? global_A reference se inicializa a null. global_int es 0 La referencia local_A es nula local_int no está inicializado Tanto global_A.x como local_A.x no están inicializados. Gracias por cualquier ayuda. A global_A; int global_int; class A { public : int x; } int main() { int local_int; A local_A; […]

¿Por qué el comstackdor de Java no entiende que esta variable siempre se inicializa?

class Foo{ public static void main(String args[]){ final int x=101; int y; if(x>100){ y=-1; } System.out.println(y); } } El comstackdor de Java entiende que la condición de la statement if es siempre cierta y, por lo tanto, y siempre se inicializará. No hay error de comstackción, como se esperaba. class Bar{ public static void main(String […]

DRY Ruby Initialization with Hash Argument

Me encuentro usando bastante los argumentos hash para los constructores, especialmente cuando escribo DSL para configuración u otros bits de API a los que el usuario final estará expuesto. Lo que termino haciendo es algo como lo siguiente: class Example PROPERTIES = [:name, :age] PROPERTIES.each { |p| attr_reader p } def initialize(args) PROPERTIES.each do |p| […]

¿Cómo hacer el equivalente de memset (esto, …) sin golpear el vblbl?

Sé que memset está mal visto para class inicialización de class . Por ejemplo, algo como lo siguiente: class X { public: X() { memset( this, 0, sizeof(*this) ) ; } … } ; vtbl el vtbl si hay una función virtual en la mezcla. Estoy trabajando en una base de código heredada (descomunal) que […]

demasiados inicializadores para ‘int ‘ c ++

Primero: int k[] ={1,2,3,4,5}; Segundo: struct slk { int k[] ={1,2,3,4,5}; }; para esas dos declaraciones, ¿por qué la primera pasa la comstackción, pero la segunda me da error: demasiados inicializadores para ‘int [0]’. la comstackción pasaría si configuro k [5]; ¿Qué significa este mensaje de error? Nota: código probado en GNU GCC versión 4.7.2

¿Cómo inicializar std :: array elegantemente si T no es construible por defecto?

¿Cómo inicializo std::array si T no es construible por defecto ? Sé que es posible inicializarlo así: T t{args}; std::array a{t, t, t, t, t}; Pero n para mí es el parámetro de la plantilla: template void f(T value) { std::array items = ??? } E incluso si no era una plantilla, es bastante feo […]