
C/C++
c/c++语言
ytuglt
这个作者很懒,什么都没留下…
展开
-
ELF文件修改-so文件修改
libtorch_cpu.so依赖的libmpi_cxx.so.20 在系统中不存在,系统中的版本是libmpi_cxx.so.40。替换后重新查看是可以找到的。原创 2023-06-08 09:59:53 · 669 阅读 · 0 评论 -
c++积累15-函数指针
2、定义函数指针变量原创 2023-05-24 18:49:37 · 87 阅读 · 0 评论 -
c++积累14-sizeof()
vptr指针=8。原创 2023-05-24 18:45:18 · 87 阅读 · 0 评论 -
c++积累13-static
当变量声明为static时,空间将在程序的生命周期内分配。即使多次调用该函数,静态变量的空间也只分配一次,前一次调用中的变量值通过下一次函数调用传递。这对于在C / C ++或需要存储先前函数状态的任何其他应用程序非常有用。原创 2023-05-24 18:03:23 · 76 阅读 · 0 评论 -
c++积累12-const
b 为常量,不可更改!i 为常量,必须进行初始化!(因为常量在定义后就不能被修改,所以定义时必须初始化。原创 2023-05-24 17:31:45 · 606 阅读 · 0 评论 -
c++积累11-强制类型转换运算符(static_cast/reinterpret_cast/const_cast/dynamic_cast)
将类型名作为强制类型转换运算符的做法是C语言的老式做法,C++为保持兼容而予以保留。强制类型转换是有一定风险的,C++引入新的转换机制,主要为了客服C语言转换的三个缺点;1、没有从形式上体现转换功能和风险的不同。例如,将int转换位double是没有风险的,而将常量指针转换为非常量指针,将基类指针转换为派生类指针都是高风险的,而且后两者带来的风险不同(可能引发不同的类的错误),C语言的强制类型转换形式对这些不同并不加以区分。原创 2023-04-23 11:18:38 · 256 阅读 · 0 评论 -
c++积累10-隐式转换、explicit关键字
【代码】c++积累10-隐式转换、explicit关键字。原创 2023-04-22 22:07:53 · 91 阅读 · 0 评论 -
c++积累9-g++的编译参数 -fno-elide-constructors 参数
可以说在C++11右值引用出现之前,C++的临时对象问题带来了非常大的性能开销,而编译器的这种优化,大大减少了很多无谓的copy,感觉对不是很懂C++的人是一种福音吧。通过上面的结果,反向推论,编译器默认是会对构造做优化,上面例子中把两次的构造默认都优化掉了,而加上-fno-elide-constructors参数后则不会优化。程序代码中会先调用默认构造函数创建临时对象1,在调用拷贝构造函数创建临时对象2,再次调用拷贝构造函数构造对象o,总共2次copy构造,生成了3个对象。原创 2023-04-22 18:31:43 · 431 阅读 · 0 评论 -
c++积累8-右值引用、移动语义
右值引用就是给右值取个名字,右值有了名字之后就成了普通变量,可以像使用左值一样使用。语法:数据类型&& 变量名=右值public :// 3是右值,给它起个名字叫a int b = 8;// b 是左值, 8是右值 int && c = b + 5;// b+5是右值,给它取个名字叫c AA && aa = getTemp();// getTemp()返回值是右值(临时变量),给它起个名字叫aa cout原创 2023-04-22 18:02:12 · 1302 阅读 · 0 评论 -
c++积累7-引用
作用:1,取地址2,声明引用rodents 是 rats的别名。原创 2023-04-22 14:22:47 · 109 阅读 · 0 评论 -
c++积累6-内联函数
内联函数是c++为提高程序运行速度所做的一项改进。原创 2023-04-20 10:31:20 · 449 阅读 · 1 评论 -
c++积累5-lock_guard使用
在了解lock_guard之前,需要先学习下std:mutex,因为lock_guard内部就是使用的std:mutexstd:mutex:是一个用于保护共享数据不会同时被多个线程访问的类,它叫做互斥量。来看一个例子,两个线程共同访问一个全局变量输出:输出:我们可以看到加了锁之后呢,输出结果是正确的了。原创 2023-04-17 22:05:16 · 569 阅读 · 0 评论 -
c++积累4-线程启动方式
【代码】c++积累4-线程启动方式。原创 2023-03-30 15:41:15 · 75 阅读 · 0 评论 -
c++积累1 - 参数传值与引用的区别
在函数参数中传入func(int & i) ,在内部改变参数值,外部也会改变,因为传入的是地址如果传入的是值func(int i),在函数内部改变时,外部不会改变,因为传入时进行了复制,并不改变之前值。原创 2023-03-28 11:12:52 · 88 阅读 · 0 评论 -
c++积累2 -运行时决定线程数量
将一个数组中的元素进行累加计算,通过并行处理。原创 2023-03-30 15:14:32 · 238 阅读 · 0 评论 -
c++积累3-线程标识获取
【代码】c++积累3-现成标识获取。原创 2023-03-30 15:27:57 · 78 阅读 · 0 评论