【问题标题】:what is string strName<>?什么是字符串 strName<>?
【发布时间】:2012-02-23 17:25:36
【问题描述】:

我见过这样的代码:

struct failed_login_res {
     string errorMsg<>;
     unsigned int error;
};

最后的&lt;&gt; 是什么意思?和string errorMsg这样的普通声明有什么不同?

更正:这是针对 RPC 存根,而不是 C++,我可以确认它确实可以编译。那么问题仍然有效。

【问题讨论】:

  • 也许你见过template&lt;&gt; ...之类的东西?你的例子不起作用。
  • @spencercw 这是针对 .x 文件而不是 .cc 的,抱歉给您带来了混乱。

标签: string rpc .x


【解决方案1】:

通过快速谷歌搜索,我发现了this PDF

6.9 节如下:

字符串:C 没有内置的字符串类型,而是使用以空字符结尾的“char *”约定。在 XDR 语言中,字符串使用“string”关键字声明,并在输出头​​文件中编译为“char *”。尖括号中包含的最大大小指定字符串中允许的最大字符数(不包括 NULL 字符)。最大大小可以省略,表示任意长度的字符串。

例子:

string name<32>; --> char *name;
string longname<>; --> char *longname;

【讨论】:

    猜你喜欢
    • 2015-08-15
    • 2022-01-21
    • 2014-01-16
    • 1970-01-01
    • 2019-11-04
    • 2023-03-26
    • 2020-09-25
    • 2014-11-20
    相关资源
    最近更新 更多