Tôi có một lớp trông như thế nàyLàm thế nào để lưu trữ một số loại "null" trong C++ đôi hoặc int biến?
struct A {
double a1;
int b1;
double a2;
int b2;
};
tôi phải đọc tắt của một tập tin giá trị cho a1
, b1
, a2
, và b2
. Hầu hết thời gian, tất cả bốn số đều có trong tệp, nhưng đôi khi chỉ có hai số.
Khi có hai số, tôi muốn lưu trữ các giá trị trong a1
và b1
và tôi muốn lưu trữ "không có gì" trong a2
và b2
. Nếu a2
và b2
là con trỏ, tôi có thể chỉ định chúng là nullptr
, nhưng chúng không phải là con trỏ.
Có điều gì tôi có thể lưu trữ trong các biến số double
và int
để cho biết rằng 'không có gì' được lưu trữ không?
Tôi biết Boost.Optional
khả dụng, nhưng tôi đang cố tránh thư viện đó.
Chọn giá trị bạn biết biến sẽ không bao giờ lấy và đặt tên là 'NULL'. Sau đó so sánh các biến với 'NULL'. Lựa chọn đầu tiên thường là 0 hoặc -1 – scohe001
Đó là sự cố, tôi không biết giá trị mà các biến của tôi sẽ không bao giờ có. – jlconlin
@Josh: Không, đừng đặt tên là 'NULL'. Đặt cho nó một cái tên duy nhất không xung đột với thư viện chuẩn. –