Tôi đã tạo các tệp như thế này trong một thời gian: Thứ tự có ý nghĩa không? hoặc không gian tên và #includes được đổi chỗ và tại sao.Cái nào đến trước? bảo vệ tiêu đề, không gian tên và bao gồm
#ifndef CLASSNAME_H // header guards
#define CLASSNAME_H
#include "a.h" // includes in alphabetical order
#include "b.h" // user specified includes first
#include "c.h"
#include <vector> // then library includes
namespace MyNamespace
{
class ClassName
{
};
}
#endif
Chỉ cần tưởng tượng rằng '# include' nghĩa đen dán nội dung tệp vào tệp cơ sở của bạn, sau đó làm việc trong không gian tên nào bạn muốn có khai báo nào. –
... và cũng xem xét điều gì sẽ xảy ra nếu các tệp .cpp khác nhau có cùng tiêu đề bên trong các không gian tên khác nhau ... –