if (this != null):
#include <iostream>
class Bass {
private:
char c;
int i;
public:
Bass(const int i) {
this->i = i;
};
void crashMePlease() const {
std::cout << "value:" << &(this->i) << std::endl;
};
};
int main(int argc, char *argv[]) {
std::cout << "sizeof(char):" << sizeof(char) << std::endl << "sizeof(int):" << sizeof(int) << std::endl;
Bass *bass = 0;
bass->crashMePlease();
return 0;
};
Что будет результатом выполнения ? Свалиться ли в segfault или же не свалиться, а если не свалиться, то что скажет ?
Наверняка, для матёрых C++ программистов это пустяковый вопрос, поэтому приведу ответ:
$ g++ main.cpp -o mainИ позже попытаюсь объяснить почему же именно так, а не иначе :)
$ ./main
sizeof(char):1
sizeof(int):4
value:0x4
Комментариев нет:
Отправить комментарий