解答几个c++问题?

要求输入一串不是很长的字符串,在最大的字符后加(max)

打开App,查看更多内容

本文提供了与标准 C++ 库 (常见问题解答) 常见问题解答列表。

标准 C++ 库包含哪些内容

标准 C++ 库提供可扩展的框架,并包含语言支持、诊断、常规实用工具、字符串、区域设置、标准模板库 (容器、iterators、算法和数字) 以及输入/输出的组件。

标准 C++ 库可以分为以下类别:

  1. 标准模板库 (STL) 组件提供 C++ 程序,该程序可以访问最广泛使用的算法和数据结构的子集。 STL 标头可以分为三个主要的组织概念:

    • 算法:用于对对象序列执行常见操作(如功能、算法和数字)的模板函数。

  2. 其他标准 C++ 标头包括:

    • 语言支持:整个库 (cstddef) 中使用的常见类型定义的组件、预定义类型的特征 (limits``cfloat``climits 、、) 、支持 C++ 程序 (cstdlib) 的开始和终止的函数、对动态内存管理 (new) 的支持、对动态类型标识

    • 诊断:用于报告多种异常情况的组件 (stdexcept) 、记录程序断言 (cassert) cerrno 以及错误号代码的全局变量 () 。

    • 本地化:C++ 程序可能用于封装文化差异的组件。 区域设置功能包括对字符分类和字符串排序规则、数字、货币和日期/locale``clocale时间格式和分析以及邮件检索、 (、) 的国际化支持。

CRT 和标准 C++ 库之间有什么区别? 运行时库编译器选项将包含哪些库

库类型和相关编译器开关
  • 如何将标准 C++ 库设置为我的应用程序的默认库

    如果要将标准 C++ 库设置为默认库,请包含一个或多个新的 Standard C++ 标头。 你无法混合调用旧标准 iostream C++ 库和新标准版 C++ 库。 使用 (函数) iostream 静态或动态链接库的现有库必须修改为使用标准 C++ 库 iostream 函数。

    标准 C++ 库在其自己的命名空间 中实现 std。 确保在程序的开头添加以下语句:

    或者使用命名空间 限定每个 std标准 C++ 库标识符,例如 , std::cout

    为什么我在编译器 (错误 C2371 中收到错误:"标识符"重新定义;不同的基本)

    在 Visual C++ 2005 以前的 Visual C++ 版本中,混合使用标准 C++ iostream 标头和旧标头会导致此错误,即使它们包含在不同的源文件中。 以下是不同的标头:

    为什么在 LNK2001 (消息:使用忽略默认库生成项目时,在函数调用上调用未解析的外部符号"symbol") `iostream` ;。

    不要混用不同版本的库。 例如,如果你使用的是单线程版本的 C-Runtime iostream 库,则还必须使用旧库的单线程版本或标准 C++ 库。

    为什么我收到编译器警告 C4786 或 C4788? 我的程序中没有任何符号长度接近 255 个字符

    忽略此警告是安全的。 使用警告 #pragma (禁用:4786,4788) 禁止显示消息。

    为什么我收到消息 (C4530:使用了 C++ 异常处理程序,但是未启用语义。 指定 -GX)

    使用标准 C++ 库的程序必须通过启用 C++ 异常处理进行编译。 可以通过以下方法之一启用 C++ 异常处理:

  • 使用 /GX 编译器开关。

为什么我收到编译器错误 C2146,后跟 C2065,最后是 C2143,都指向我的源中的同一行

这种错误序列可能是由以下类型的构造导致的:

问题由声明末尾的 >> 连续导致。 解决方案是在两个字符之间放入一个空格,因此结构将变为:

它与建议的 ANSII 规范一致。

这个是我写的一个快速排序的算法,但是问题确是处在我的Swap函数上面,错误的输出结果是4,8,6,9,10.
但只要在Swap的参数前多加个"&",输出的结果才是4,6,8,9,10,请问这是为什么?重分酬谢!

我要回帖

更多关于 c++答案 的文章

 

随机推荐