公司动态

深入理解C++ const 关键字<五>修饰类的成员变量

📅 2026/8/21 6:33:53
深入理解C++ const 关键字<五>修饰类的成员变量
普通const成员变量必须在构造函数的初始化列表中初始化C11后也可在声明处直接赋值。static const成员在C17之前整型常量可在类内直接赋值但在C17后建议用inline static const。#include iostream #include string class Circle { private: const double PI 3.14159; // C11 类内初始化 OK const int ID; // 必须在初始化列表赋值 static const int VERSION 1; // 整型常量可以类内初始化旧式 inline static const std::string NAME Circle; // C17 推荐写法 public: Circle(int id) : ID(id) {} // 初始化列表赋值 void print() const { std::cout Circle ID: ID std::endl; std::cout PI: PI std::endl; std::cout VERSION: VERSION std::endl; std::cout NAME: NAME std::endl; } }; int main() { Circle c(10); c.print(); return 0; }