Tôi đang thiết kế một hệ thống phân cấp ngoại lệ trong C++ cho thư viện của tôi. "Hệ thống phân cấp" là 4 lớp bắt nguồn từ std :: runtime_error. Tôi muốn tránh các slicing problem cho các lớp học ngoạ
Tôi không có hiệu quả C++ với tôi và điều này làm tôi bực bội rất nhiều đến nỗi tôi phải yêu cầu sự tỉnh táo của riêng mình. Với class Foo : public Bar{}
void MyFunc(Bar &_input);
Nếu tôi vượt qua
Là những giống nhau: int foo(bar* p) {
return p->someInt();
}
và int foo(bar& r) {
return r.someInt();
}
Bỏ qua các tiềm năng con trỏ null. Hai chức năng này có giống nhau về mặt chức
Biểu thức new trong khối try ném một ngoại lệ bad_alloc trong máy tính của tôi. Lưu ý rằng mệnh đề catch nhận một đối tượng ngoại lệ theo giá trị, không phải bằng tham chiếu. Làm thế nào đến e.what()