Dan*_*ode 47 c++ g++ visual-studio
今天早些时候(实际上昨天由于我的时区)我在Interview Street上使用Visual Studio 2012 for C++(使用g ++)尝试编程访谈.
简而言之,我在使用时遇到了几个编译错误1
#include <cstring>
Run Code Online (Sandbox Code Playgroud)
这是由一个问题中的骨架代码提供的,之后转向
#include <string>
Run Code Online (Sandbox Code Playgroud)
所有编译错误都神奇地消失了.
但是,在提交到Interview Street后,我不得不加c
回来; 否则我有编译错误.
这是我第一次被非标准化所困扰....
我的问题是:什么内部<string>
和<cstring>
我(珍贵)超过半小时?
1对于任何好奇的人:
Visual Studio 2012的一个错误using <cstring>
是:
错误C2338:C++标准不为此类型提供哈希.
在
c:\ program files(x86)\ microsoft visual studio 11.0\vc\include\xstddef
可能string
是关键的unordered_map
g ++的一个错误using <string>
是:
'strlen'未在此范围内声明
Rob*_*edy 43
所述cstring
头部提供的功能与C语言风格的处理字符串-字符空终止阵列.这包括strlen
和和等功能strcpy
.这是来自C的经典string.h
标题的C++版本.
所述string
头提供的std::string
类和相关功能和操作符.
标题有相似的名称,但除此之外它们并没有真正相关.它们涉及单独的任务.
<cstring>
具有C头string.h中的C字符串代码.C++
有一个约定,其中C
标题具有相同的基本名称,除了前导c
和没有尾随.h
.所有内容都在std::
命名空间下可用.
<string>
有标准的库std::string
和相关的功能
在 C++ 中,您不会使用#include <somefile.h>
, 而是#include <somefile>
. 现在 C++<string>
在<string.h>
. C++ 用于“传统”c-包含文件。因此,<cstring>
和<string>
http://www.cplusplus.com/reference/clibrary/cstring/
归档时间: |
|
查看次数: |
69464 次 |
最近记录: |