静态常量整数成员在class内部直接初始化

Posted peki10

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态常量整数成员在class内部直接初始化相关的知识,希望对你有一定的参考价值。

 

 1 #include <vector>
 2 #include <deque>
 3 #include <algorithm>
 4 #include <iostream>
 5 #include <ostream>
 6 #include <iterator>
 7 using namespace std;
 8 template <typename T>
 9 class conststaticconstant
10 {
11 public://class内含const static integral data(整数型别) member,那么就可以直接赋初值
12     static const int _datai = 5;
13     static const long _datal = 3L;
14     static const char _datac = c;
15     //static const double _datad = 8.88;//error: ‘constexpr‘ needed for in-class initialization of static data member ‘const float conststaticconstant<T>::_dataf‘ of non-integral type [-fpermissive]
16     //static const float _dataf = 9.9;
17 //    void operator ()(const T& elem){
18 //        cout << elem << ‘ ‘;
19 //    }
20 };
21 int main( )
22 {
23     cout << conststaticconstant<int>::_datai << endl;
24     cout << conststaticconstant<int>::_datal << endl;
25     cout << conststaticconstant<int>::_datac << endl;
26     return 0;
27 }

 

以上是关于静态常量整数成员在class内部直接初始化的主要内容,如果未能解决你的问题,请参考以下文章

静态(数据)成员与类

静态常量(非整数)成员初始化语法背后的基本原理?

| 9 |错误:无效使用非静态数据成员'Matrix :: row'| 9 |错误:数组绑定不是']'令牌之前的整数常量|

静态常量整数数组

关于“只有静态常量整型数据成员才可以在类中初始化”

静态常量非整形成员变量的初始化问题