如何初始化类中的CONST数组
有以下代码片段:
#include <iostream>
using namespace std;
class MyString
{
public:
enum
{
size = 1000
};
const int i[size];;
};
如何在构造函数中初始化数组i
[解决办法]
不可以这样初始化。
不可以!!!!!
[解决办法]
有个办法:
#include <cstdio>
#include <cstring>
const int mn=100;
using namespace std;
class Example
{
struct ArrayHelper
{
int data[mn];
ArrayHelper(int *b) { memcpy(data,b,sizeof(data)); }
} const arr;
public:
Example(int *b) : arr(b) {}
};
int main()
{
int t[mn];
Example tmp(t);
return 0;
}
使用封装!!