对于许多问题,答案似乎可以在"标准"中找到.但是,我们在哪里找到它?最好是在线.
谷歌搜索有时会觉得徒劳,尤其是对于C标准,因为他们在编程论坛的大量讨论中被淹没.
要开始这个,因为这些是我现在正在搜索的,那里有很好的在线资源:
我已经阅读了几个地方,c_str()和data()(在STL和其他实现中)之间的区别c_str()是总是空终止而data()不是.据我在实际实现中看到的,他们要么做同样的事情,要么做data()电话c_str().
我在这里错过了什么?在哪种情况下使用哪一个更正确?
我为什么要打电话std::string::data()过来std::string::c_str()?当然,这里标准的疯狂有一些方法......
可能重复:
c ++ 11标准在哪里
我想购买/下载一些东西.首先,我想要官方c ++ 11参考的数字副本和纸质副本.
另外,我想要一本书,它是关注常用c/c ++函数和STL之类的参考文献的总和,比官方参考本身更容易获得.同样适用于纸质和数字版本.我不需要初学者书,只需要参考.这个可能是固执己见,所以随便说出你喜欢哪一个.
好的,这有点复杂所以请耐心等待.:)
class A {};
class DA : public A {};
class DDA : public DA {};
Run Code Online (Sandbox Code Playgroud)
void f(A x) {
std::cout << "f A" << std::endl;
}
void f(DA x) {
std::cout << "f DA" << std::endl;
}
void f(DDA x) {
std::cout << "f DDA" << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
现在我们想要添加另一个以不同方式处理DA的函数.
void g(A t) {
std::cout << "generic treatment of A" << std::endl;
std::cout << "called from g: ";
f(t);
}
void g(DA t) {
std::cout << "special …Run Code Online (Sandbox Code Playgroud)