
C/C++
一些学习c++时的记录
llkk星期五
这个作者很懒,什么都没留下…
展开
-
c++一些高级写法
这两个函数模板是 C++11/14 引入的 智能指针构造工具,用来更简洁、安全地创建 unique_ptr 和 shared_ptr。shared_ptr< T>可以复制,引用计数自动维护;这两个暂时都可以当作声明对象使用,没实例化的空指针,使用make_shared和make_unique才。unique_ptr< T>独占所有权,不能共享,最后一个 unique_ptr 被销毁时析构。shared_ptr< T> 共享所有权,引用计数,所有 shared_ptr 被销毁后析构。原创 2025-05-19 11:04:18 · 204 阅读 · 0 评论 -
c++ 基于范围的for循环
对容器的遍历过程中,如果只是读数据,不允许修改元素的值,可以使用 const 定义保存元素数据的变量,在定义的时候建议使用 const auto &,这样相对于 const auto 效率要更高一些。新特性 for (declaration : expression)传统写法 for (表达式 1;加引用&可以修改容器内容。原创 2025-05-13 11:21:20 · 188 阅读 · 0 评论 -
c++ 类的成员初始化
对于以下类型的成员变量,必须使用初始化列表:const 常量成员, 引用成员, 没有默认构造函数的类类型成员。对于类成员变量的初始化,成员初始化列表比在构造函数体内赋值更高效。原创 2025-05-12 16:57:54 · 260 阅读 · 0 评论 -
c++虚函数与多态部分记录
记录一下,保存。转载 2025-03-02 20:49:14 · 30 阅读 · 0 评论 -
c++ namespace名字域空间
可以在代码中使用 namespace 关键字来定义一个命名空间。/ / value 和 printValue 都属于 example 命名空间} }// 输出: Value: 10为了简化代码,可以使用 using 指令将命名空间中的成员引入到当前作用域中。// 直接使用,而不需要 `example::`原创 2025-03-02 14:39:06 · 351 阅读 · 0 评论 -
c++将十进制整数转换成十六进制数字符串输出打印
使用连除法,将余数存下来即是要打印的字符,但是由于先出的余数需要放后面打印,后入先出、先入后出,于是便想到了栈列stack。栈列不能用下标索引,只能找到栈顶元素top(),所以将栈的元素存到容器队列中输出。刚开始用上面的输出错误了以为用不了,然后自己手推了,感觉还是记录一下。原创 2024-10-09 19:48:10 · 611 阅读 · 0 评论 -
C++有限状态机小例子
本篇用于记录写的一个FSM小demo,可能不太规范,自用。原创 2024-09-26 15:21:03 · 306 阅读 · 0 评论 -
c++:让两个数组相互分享,谁改变数值都一起改变
可以看到输出结果,a和b都输出了同样的值,这是在只改变b的情况下。一开始a和b数组都是空的,没有数值。首先是定义处如下,(&b)来表示引用,共享内存空间。可以看到a和b都一起变了。原创 2024-08-06 22:05:42 · 166 阅读 · 0 评论 -
冒泡排序,选择排序,快速排序算法以及比比效率
冒泡排序,选择排序,快速排序算法以及比比效率#include#include#include#include#includeusing namespace std;int main(){ int N;cin >> N; int* arr = new int[N]; srand(time(NULL)); int i, j; int temp; clock_t start, end;//clock_t为CPU始终计时单元数 for (i = 0; i < N; i原创 2021-01-12 17:30:13 · 114 阅读 · 0 评论 -
用数组来存储几个数,并且找出最大的数,判断它是第几个数
//用数组来存储几个数,并且找出最大的数,判断它是第几个数#include#include#include#include//使用随机数要用到的头文件using namespace std;int main(){ int i,j,max; int a[10];//定义一个长度为10的整型数组 srand(time(0));//表示产生的随机数更随机,类似时间的变换 for (i = 0; i < 10; i++) { a[i] = rand() % 100;//赋值数组的元素为0原创 2021-01-06 21:51:01 · 169 阅读 · 0 评论