【发布时间】:2012-12-05 14:52:25
【问题描述】:
我已经定义了一个数据结构
std::map<std::string, int> a;
我发现我可以将 const char* 作为键传递,如下所示:
a["abc"] = 1;
哪个函数提供从 const char* 到 std::string 的自动类型转换?
【问题讨论】:
-
隐含地做这样的事情听起来像是很难找到错误的秘诀。
-
不,一些隐式转换很好。 C字符串和
std::string在语义上是等价的,只是C字符串是无用的废话。 -
@Warren,它在 C++ 中很常见,尤其是对于 std::string 等常用结构。每次进行查找时,您都可以享受临时 std::string 构造带来的性能冲击......
-
又一个 C++ 滑坡参数。上次咬我的时候,我想我还在抽搐。
标签: c++ type-conversion