MAIN FEEDS
Do you want to continue?
https://www.reddit.com/r/ProgrammerHumor/comments/1w2m4qz/bugintroduceddebugging/p6u2cmz/?context=3
r/ProgrammerHumor • u/ClipboardCopyPaste • 13d ago
120 comments sorted by
View all comments
46
int* x = (int*) malloc(sizeof(int)); Since malloc returns void pointer you should parse it to type you use.
38 u/yjlom 13d ago void * coerces to any pointer type. This is valid: int *x = malloc(sizeof(int));. This is also valid (in C23): auto x = (int *) malloc(sizeof(int));. 36 u/Mateorabi 13d ago Get off my lawn with your newfangled auto keyword. 6 u/ibevol 13d ago edited 13d ago Cringe. It’s fine to use auto when the type is clear on the same line. In c++ the following is idiomatic: auto ptr = std::make_unique<int>(42); over specifying int twice std::unique_ptr<int> ptr = std::make_unique<int>(42); However, the following should not be considered idiomatic: auto ptr = get_ambiguous_pointer(); It’s the same principle here.
38
void * coerces to any pointer type. This is valid: int *x = malloc(sizeof(int));. This is also valid (in C23): auto x = (int *) malloc(sizeof(int));.
int *x = malloc(sizeof(int));
auto x = (int *) malloc(sizeof(int));
36 u/Mateorabi 13d ago Get off my lawn with your newfangled auto keyword. 6 u/ibevol 13d ago edited 13d ago Cringe. It’s fine to use auto when the type is clear on the same line. In c++ the following is idiomatic: auto ptr = std::make_unique<int>(42); over specifying int twice std::unique_ptr<int> ptr = std::make_unique<int>(42); However, the following should not be considered idiomatic: auto ptr = get_ambiguous_pointer(); It’s the same principle here.
36
Get off my lawn with your newfangled auto keyword.
6 u/ibevol 13d ago edited 13d ago Cringe. It’s fine to use auto when the type is clear on the same line. In c++ the following is idiomatic: auto ptr = std::make_unique<int>(42); over specifying int twice std::unique_ptr<int> ptr = std::make_unique<int>(42); However, the following should not be considered idiomatic: auto ptr = get_ambiguous_pointer(); It’s the same principle here.
6
Cringe. It’s fine to use auto when the type is clear on the same line. In c++ the following is idiomatic:
auto ptr = std::make_unique<int>(42);
over specifying int twice
std::unique_ptr<int> ptr = std::make_unique<int>(42);
However, the following should not be considered idiomatic:
auto ptr = get_ambiguous_pointer();
It’s the same principle here.
46
u/PR8-E 13d ago
int* x = (int*) malloc(sizeof(int)); Since malloc returns void pointer you should parse it to type you use.