java一维字符串数组初始化_类成员变量(一维字符数组)定义及初始化

头文件

#pragma once

#include

using namespace std;

typedef unsigned char uchar;

typedef unsigned short ushort;

class CM_message

{

public:

CM_message();

virtual ~CM_message();

private:

static const int m_ihead_len = 2;

static const int m_imax_body_len = 2048 - 2;

static const int m_iformat_len = 8;

std::size_t m_ibody_len;

std::size_t m_ioff_set;

static const char * const m_szformat_str;

uchar m_szdata[m_ihead_len + m_imax_body_len];

};

实现文件

#include "pch.h"

#include "CM_message.h"

//定义

const char* const CM_message::m_szformat_str = "12345678";

const int CM_message::m_ihead_len;

const int CM_message::m_imax_body_len;

const int CM_message::m_iformat_len;

CM_message::CM_message()

{

std::memset(m_szdata, 0, m_ihead_len + m_imax_body_len);

m_ibody_len = 0;

m_ioff_set = 0;

}

CM_message::~CM_message()

{

}

这里要说的是uchar m_szdata[m_ihead_len + m_imax_body_len];由这个引出static const int m_imax_body_len = 2048 - 2;

有说static const int m_imax_body_len = 2048 - 2;叫声明,在实现文件里的叫定义

如果不在实现文件里进行定义,链接是会报错,实际在VS2017环境里,并没有报错。我发现“我笑痴狂”的博客里也说了linux下用GCC编译,也不会报错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值