C++
文章平均质量分 66
Superwanna
身体和灵魂至少要有一个在路上
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
传递临时对象要注意的陷阱
并发与多线程原创 2022-08-21 14:06:32 · 269 阅读 · 1 评论 -
Variadic Templates
一、可变参函数模板 /*********************可变参数函数模板**********************/ template<typename... T> //T:一包类型 ,args: 一包形参 void myfunc(T... args) { cout << "可变参数 函数 模板" << endl; cout << sizeof...(args) << endl; cout << siz原创 2021-09-07 00:05:13 · 251 阅读 · 0 评论 -
const mutable this static
成员函数末尾的const 在成员函数末尾增加一个const是告诉系统,这个成员函数不会修改对象里面任何成员变量的值等。也就是说,这个成员函数不会修改类对象的任何状态。这种在末尾缀了一个const的成员函数称之为“常量成员函数”。 const成员函数可以被const对象和非const对象调用。而 非const成员函数只能非const对象调用。 对于成员函数声明和实现分开的情况下,不但要在函数声明中增加const,也要在函数实现中增加const。 普通函数(非成员函数)末尾是不能增加const的。 mu原创 2021-04-13 17:01:51 · 202 阅读 · 0 评论 -
类_构造函数、构造函数初始化列表、函数默认参数、隐式转换和explicit
类基础 类是一种自定义的数据类型,也就是一个新类型。类与类之间,并不是彼此孤立的。例如,一个类可以派生出子类,那么这个派生子类的类就变成了该子类的父类。 类的构成包含成员变量、成员函数。当然,类中有很多特殊的成员函数。 访问类的成员,如果是类的对象,就使用“对象名.成员名”来访问。如果是指向这个对象的指针,则使用“指针名 -> 成员名”来访问。 类中public修饰的成员可供外界调用,priviate修饰的成员只能类的内部调用。class默认是private。 在C中称呼“结构”,在C++中仍然原创 2021-04-11 14:38:27 · 450 阅读 · 0 评论 -
类型转换:static_cast、dynamic_cast、const_cast、reinterpret_cast
显示类型转换 在C++中,显示类型转换(强制类型转换)分为4种。分别是:static_cast、dynamic_cast、const_cast、reinterpret_cast。 这些命名的强制类型转换的通用形式如下: 强制类型转换名< type >(express); 强制类型转换名就是上述四种,type是转换的目标类型,express是要转换的值。 static_cast:静态转换 编译的时候就会进行的类型转换的检查,和C语言中的强制类型转换很相似。一般的编译器能够执行的隐式的类型转换原创 2021-04-08 21:26:17 · 339 阅读 · 0 评论 -
迭代器 iterator
迭代器简介 迭代器是一种遍历容器内元素的数据类型。(这种数据类型有点像指针,可以将迭代器理解为是用来指向容器内的某个元素的) string可以用“[ ]”来访问string字符串内的字符,vector也可以通过“[ ]”来访问vector中的元素。但C++中一般采用迭代器来访问它们。除了vector容器外,C++标准库中还有好几种其他种类的容器(如:list、map等),均可使用迭代器来访问它们。string不是容器,但也支持用迭代器来遍历。 通过迭代器,可以读取容器中的元素值,修改容器中某个迭代器所原创 2021-04-07 00:27:11 · 293 阅读 · 0 评论 -
vector 类型
Introduction vector 是标准库中的一个类型,代表的是一个容器、集合或者动态数组的一个概念。可以把若干个对象放到容器中,但这些对象的类型必须相同。简单的说,可以把一堆int型数字放到 vector 容器中,复杂点说,可以把一堆相同类型的类对象放到 vector 中去。 要使用这种类型需要包含 vector 头文件#include<vector>。当然为方便引用这种类型,也要书写:using namespace std; 举例说明:vector< int >my原创 2021-04-05 18:10:22 · 978 阅读 · 0 评论
分享