Computer >> Máy Tính >  >> Lập trình >> C ++

Từ khóa rõ ràng có nghĩa là gì trong C ++?


Từ khóa rõ ràng trong C ++ được sử dụng để đánh dấu các hàm tạo để không chuyển đổi kiểu ngầm. Ví dụ:nếu bạn có Foo lớp học -

class Foo {
public:
    Foo(int n); // allocates n bytes to the Foo object
    Foo(const char *p); // initialize object with char *p
};

Bây giờ nếu bạn thử

Foo mystring = 'x';

char 'x' được chuyển đổi hoàn toàn thành int và sau đó sẽ gọi hàm tạo Foo (int). Nhưng đây không phải là những gì đã được dự định. Vì vậy, để ngăn chặn các điều kiện như vậy và làm cho mã ít bị lỗi hơn, hãy xác định hàm tạo là rõ ràng -

Ví dụ

class Foo {
   public:
      explicit Foo (int n); //allocate n bytes
      Foo(const char *p); // initialize with string p
};