2012-02-23 166 views
1

我见过这样的代码:什么是字符串strName <>?

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

什么是<>在到底意味着什么?与string errorMsg这样的正常声明有什么不同?

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

+0

也许你见过像'模板<> ...'?你的例子不起作用。 – spencercw 2012-02-23 17:28:54

+0

@spencercw这是.x文件不是.cc对不起,感到困惑.. – Figo 2012-02-23 17:48:39

回答

1

从一个快速的谷歌搜索,我碰到了this PDF

6.9节如下:

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

例子:

string name<32>; --> char *name; 
string longname<>; --> char *longname; 
相关问题