C++编程
TuzkiSun
这个作者很懒,什么都没留下…
展开
-
C++ bug:宏定义与函数名冲突
问题描述:今天在项目中增加了OpenCascade库后发生了宏定义与函数名冲突的问题,Standard_Handle.hxx文件中定义了全局的宏Handle与ros actionlib中的类名冲突。解决方案:方法一:用括号把调用函数的地方括起来,这个是用的比较多的方法,也是解决的比较好的方法例如:象这样用函数(std::numeric_limits<std::streamsize>::max)()方法二:就是不包含宏定义的头文件方法三:取消掉对宏的定义#unde原创 2021-03-04 20:11:23 · 1541 阅读 · 1 评论 -
C++标准库_顺序容器
C++标准库_顺序容器标准库类型vector 标准库类型vector表示对象的集合,其中所有对象的类型都相同。集合中的每个对象都有一个与之相对的索引,索引用于访问对象。 想要使用vector,必须包含适当的头文件:#include <vector>using std::vector; vector是模板而非类型,由vec...原创 2019-11-20 16:36:00 · 208 阅读 · 0 评论 -
C++命名空间
命名空间命名空间为了防止名字冲突提供了可控的机制。命名空间分割了全局命名空间,其中每个命名空间是一个作用域。命名空间定义一个命名空间的定义包含两部分:Ⅰ.关键字namespace,随后是命名空间的名字。Ⅱ.后面是一系列由花括号括起来的声明和定义。只要能出现在全局作用域中的声明就能置于命名空间内,主要包括:类、变量(及其初始化操作)、函数(及其定义)、模板和其他命名空间。命名空间作用...原创 2019-11-08 14:07:33 · 196 阅读 · 0 评论 -
C++学习笔记_类Ⅱ
类的作用域每个类都会定义它自己的作用域(一个类就是一个作用域)。在类的作用域之外,普通的数据和函数成员只能由对象、引用或者指针使用成员访问运算符来访问。对于类类型成员(typedef)则使用作用域运算符访问。作用域和定义在类外部的成员在类外部定义成员函数必须同时提供类名和函数名。一旦遇到了类名,定义的剩余部分(包括参数列表和函数体)就在类的作用域之内了。但需要注意的是返回类型中使用的名...原创 2019-10-28 23:38:26 · 104 阅读 · 0 评论 -
C++学习笔记_类
类类的其他特性类成员再探定义一个类型成员 除了定义数据和函数成员之外,类还可以自定义某种类型在类中的别名。由类定义的类型名字和其他成员一样存在访问限制,可以是public或者private中的一种,如:public:typedef std::string::size_type pos;与此等价,也可使用类型别名:public::using pos =...原创 2019-10-25 15:26:56 · 132 阅读 · 0 评论 -
C/C++字符串相关类型转换
字符数字转换函数C++风格C++ 11 提供了若干 to_string(T value) 函数来将 T 类型的数字值转换为字符串形式。以下是几个 to_string() 函数的列表:string to_string(int value)string to_string(long value)string to_string(double value)to_string() 函数...原创 2019-10-23 19:09:09 · 364 阅读 · 0 评论 -
输入输出及文件操作_C++风格IO流
因项目需要从文件中读取多组浮点类型数据,专门复习总结了一下C/C++的输入输出操作。C++风格输入输出-流I/OC++ 输入 & 输出iomanip 在使用格式化I/O时应包含此头文件。iostream 用于混合使用C和C + +的I/O机制时,例如想将C程序转变为C++程序iostream 标准库,它提供了 cin 和 cout 方法分别用于从标准输入读...原创 2019-10-23 16:25:16 · 249 阅读 · 0 评论 -
C++内存分配方式
C++内存分配方式详解首先来看看主要有几种程序内存分配:一个由C/C++编译程序占用内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数参数值,局部变量值,返回地址等。其操作方式类似于数据结构中栈。栈内存分配运算内置于处理器指令集中,效率很高,但是分配内存容量有限。(在VC6下面,默认的栈空间大小是1M。)2、堆区(heap) — 一般由程序员分配释放,亦称动态内...原创 2019-10-07 14:07:52 · 1310 阅读 · 1 评论