2012-11-23 35 views

Trả lời

2

Sẽ dễ dàng hơn một chút nếu bạn nhóm mọi thứ theo đúng cách. Ví dụ: *const thực sự là một đơn vị có nghĩa là "const pointer to" (bạn có thể đọc số const dưới dạng một chỉ số ở đây: *const). Tôi muốn viết nó là:

const int *const *const p1; // p1 is a const pointer to const pointer to const int 
const int **p2; // p2 is a pointer to pointer to const int 

Cũng nhớ rằng các khai báo đọc "trong ra ngoài", bắt đầu từ định danh được khai báo.

8

Làm cách nào để đọc các cấu trúc này?

Đọc chúng ngược lại và đọc * là "con trỏ đến".

const int* const* const 

là một hằng số trỏ đến con trỏ không đổi đến hằng số nguyên.

const int** 

là con trỏ trỏ đến một hằng số nguyên.

2

Có một công cụ đó là hữu ích/thú vị để giải mã tờ khai: http://cdecl.ridiculousfish.com/

Trong trường hợp của bạn nó báo cáo: const int* const* const x => khai báo x là con trỏ const để const con trỏ đến const int const int** x => khai báo x là con trỏ để trỏ đến const int

Các vấn đề liên quan