怎么用strcpy在构造函数中初始化字符串数组
如何用strcpy在构造函数中初始化字符串数组
比如,我目前定义类如下
class Cipher {
public:
Cipher()
{
。。。。。。。
}
private:
char plaintext[27];
char ciphertext[27];
};
我想吧plaintext初始化为标准大写子母表(26大写字母+一个null终止符)
如果用strcpy怎么实现呢
------解决方案--------------------
这个是真的初始化
------解决方案--------------------
4L和4L以上的回复已经满足了你的要求,只不过不那么严谨。
5L说的确实更严谨了,里面有一个C++成员变量的真正初始化阶段,就是在初始化列表中的才算是初始化,在构造函数中的已经算是赋值了。但他不影响效果,只是会影响一些效率
比如,我目前定义类如下
class Cipher {
public:
Cipher()
{
。。。。。。。
}
private:
char plaintext[27];
char ciphertext[27];
};
我想吧plaintext初始化为标准大写子母表(26大写字母+一个null终止符)
如果用strcpy怎么实现呢
------解决方案--------------------
#include <iostream>
class Cipher {
public:
Cipher()
: plaintext({'a', 'b', }), ciphertext({'a', 'b', }) {
}
private:
char plaintext[2];
char ciphertext[2];
};
int main(int argc, char* argv[]) {
Cipher cipher;
}
这个是真的初始化
------解决方案--------------------
4L和4L以上的回复已经满足了你的要求,只不过不那么严谨。
5L说的确实更严谨了,里面有一个C++成员变量的真正初始化阶段,就是在初始化列表中的才算是初始化,在构造函数中的已经算是赋值了。但他不影响效果,只是会影响一些效率