【问题标题】:Howto initialise char array style string in constructor如何在构造函数中初始化 char 数组样式字符串
【发布时间】:2010-09-19 17:24:25
【问题描述】:

我有一个类,我正在序列化它以通过 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;

【问题讨论】:

  • 在 C++ 中,您不需要“typedef”。
  • 感谢 BKB。你能说我真的是一个 C 程序员吗?

标签: c++ arrays string


【解决方案1】:

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

【讨论】:

  • 你在说什么? port() 不在初始化列表中。还是他编辑了他的帖子?
猜你喜欢
  • 2012-05-12
  • 1970-01-01
  • 2020-10-04
  • 2012-10-23
  • 1970-01-01
  • 2017-08-15
  • 1970-01-01
  • 1970-01-01
  • 2011-03-23
相关资源
最近更新 更多