Tôi muốn xác định cấu trúc, nơi một số hằng số toán học sẽ được lưu trữ.
Dưới đây là những gì tôi đã có bây giờ:Cấu trúc tĩnh trong C++
struct consts {
//salt density kg/m3
static const double gamma;
};
const double consts::gamma = 2350;
Nó hoạt động tốt, nhưng sẽ có hơn 10 hằng dấu chấm động, vì vậy tôi không muốn viết 'const tĩnh' trước mỗi trong số họ. Và xác định một cái gì đó như thế:
static const struct consts {
//salt density kg/m3
double gamma;
};
const double consts::gamma = 2350;
Nó trông tốt, nhưng tôi đã nhận các lỗi này:
1. hàm thành viên khai báo lại không được phép
2. thành viên dữ liệu không tĩnh có thể không được định nghĩa bên ngoài lớp học
Tôi tự hỏi nếu có bất kỳ cách nào C++ để làm điều đó?
10 không nhiều. Chỉ cần copy-paste phần 'static const double'. –
Tôi tin rằng sao chép-dán trong mã là một điều ác lớn nhất :) – Andrew
Sao chép-dán __logic__ là một điều xấu xa. Sao chép-dán của const tĩnh đôi ... không quá nhiều. Nếu bạn cần 10 const, bạn cần khai báo chúng. – jmucchiello