c++ - 如何在构造函数中初始化 char 数组样式的字符串

标签 c++ arrays string

我有一个正在序列化以通过 unix 套接字发送的类,它必须有一个字符串,我已将其存储为 char 数组。我可以在构造函数中以不同于我在这里完成的方式初始化它吗?

typedef struct SerialFunctionStatus_t {
    SerialFunctionStatus_t() 
        : serial_rx_count(0), serial_tx_count(0), socket_rx_count(0), socket_tx_count(0) 
        { port[0] = '\0'; }
    uint32_t serial_rx_count;
    uint32_t serial_tx_count;
    uint32_t socket_rx_count;
    uint32_t socket_tx_count;
    char port[20];
} SerialFunctionStatus_t;

最佳答案

port() 放入初始化列表。这导致端口被“值初始化”(12.6.2),对于内置数组意味着零初始化(8.5)。

关于c++ - 如何在构造函数中初始化 char 数组样式的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/245619/

相关文章:

android - 创建动态 ListPreference (Android)

php - 如何从数组中提取特定字段

xml - 解析 XML 文件时显示部分内容

python - 左对齐 pandas DataFrame 中的字符串值

c++ - 类型转换跨平台兼容性

c++ - 为每个模板(int)参数向类添加方法

c++ - gtk 最小尺寸

c++ - 命令行工具输出后如何改变其输出?

c# - 如何在 C++ 中构建动态数组并将其返回给 C#/.NET

java - 为什么下面程序的输出是1而不是2?