Preguntas etiquetadas con c++

276
¿Cómo funcionan malloc () y free ()?

Quiero saber cómo mallocy freetrabajar. int main() { unsigned char *p = (unsigned char*)malloc(4*sizeof(unsigned char)); memset(p,0,4); strcpy((char*)p,"abcdabcd"); // **deliberately storing 8bytes** cout << p; free(p); // Obvious Crash, but I need how it works and why crash. cout...

276
Miembros privados y protegidos: C ++

¿Puede alguien aclararme la diferencia entre privatey los protectedmiembros en las clases? Yo entiendo de convenciones mejores prácticas que las variables y funciones que no son llamados fuera de la clase deben hacerse private- pero mirando a mi MFC proyecto, MFC parece estar a favor...

276
Diferencia en make_shared y normal shared_ptr en C ++

std::shared_ptr<Object> p1 = std::make_shared<Object>("foo"); std::shared_ptr<Object> p2(new Object("foo")); Muchas publicaciones de google y stackoverflow están ahí, pero no puedo entender por qué make_sharedes más eficiente que usarlo directamente shared_ptr. ¿Alguien puede...

271
¿Cómo es "int main () {(([] () {}) ())}} válido C ++?

Recientemente me encontré con el siguiente código esotérico. int main(){(([](){})());} Vuelva a formatearlo de la siguiente manera para que sea más legible: int main(){ (([](){})()); // Um... what?!?! } Pero no puedo entender cómo (([](){})())es el código válido. No se parece a la sintaxis...

270
¿Por qué C ++ no tiene un recolector de basura?

No estoy haciendo esta pregunta debido a los méritos de la recolección de basura en primer lugar. Mi razón principal para preguntar esto es que sé que Bjarne Stroustrup ha dicho que C ++ tendrá un recolector de basura en algún momento. Dicho esto, ¿por qué no se ha agregado? Ya hay algunos...

267
Cómo finalizar el código C ++

Me gustaría que mi código C ++ deje de ejecutarse si se cumple una determinada condición, pero no estoy seguro de cómo hacerlo. Entonces, en cualquier momento, si una ifdeclaración es verdadera, finalice el código de esta manera: if (x==1) { kill

266
¿Cómo evitar las cadenas "si"?

Suponiendo que tengo este pseudocódigo: bool conditionA = executeStepA(); if (conditionA){ bool conditionB = executeStepB(); if (conditionB){ bool conditionC = executeStepC(); if (conditionC){ ... } } } executeThisFunctionInAnyCase(); Las funciones executeStepXdeben ejecutarse si y solo...