- 博客(8)
- 资源 (11)
- 收藏
- 关注
转载 C++ :标准转换运算符const_cast
C++继承并扩展C语言的传统类型转换方式,最后留下了一些关于指针和引用上的转换问题,没有做详细地讲述。C++相比于C是一门面向对象的语言,面向对象最大的特点之一就是具有“多态性(Polymorphism)”。要想很好的使用多态性,就免不了要使用指针和引用,也免不了会碰到转换的问题,所以在这一篇,就把导师讲的以及在网上反复查阅了解的知识总结一下。C++提供了四个转换运算符:const_cast <new_type> (expression) static_cast <new_t
2021-06-29 14:48:25 196
原创 C++ : 深拷贝和浅拷贝的区别
浅拷贝只是对指针的拷贝,浅拷贝后两个指针指向同一个内存空间;深拷贝不仅对指针进行拷贝,而且对指针指向的内容进行拷贝,经深拷贝后的指针是指向两个不同地址的指针。当对一个已知对象进行拷贝时,编译系统会自动调用一种构造函数——拷贝构造函数,如果用户未定义拷贝构造函数,则会调用默认拷贝构造函数。当拷贝一个基类指针到派生类时,如果调用系统默认的拷贝构造函数,这时只是对指针进行拷贝,两个指针指向同一个地址,这就会导致指针被分配了一次内存,但内存被释放了两次(两次调用析构函数),造成程序崩溃。所以在对含有
2021-06-25 16:09:42 640
转载 STL中list,vector,deque,map,set区别、联系和使用场景原理
一、Vector:动态数组 vector和built-in数组类似,它拥有一段连续的内存空间,并且起始地址不变,因此它能非常好的支持随机存取,即[]操作符,但由于它的内存空间是连续的,所以在中间进行插入和删除会造成内存块的拷贝,另外,当该数组后的内存空间不够时,需要重新申请一块足够大的内存并进行内存的拷贝。这些都大大影响了vector的效率。(中间插入和删除效率低)vector的基本原理如下:它采用线性空间存储数据。如果空间不够,则另外分配新的两倍大小的空间,然后把旧空...
2021-06-23 11:26:41 1603
原创 C++ : operator bool () 和bool operator ==()
operator bool () 提供一个本类型到bool的隐式转换,不允许使用参数。bool operator ==()可以分为bool operator ==( const bool& other),bool operator ==( const T& other),T代表类型。即与bool类型的比较,和与本类的比较。
2021-06-17 15:05:18 10294
原创 Linux 下性能分析工具 之 Sprof
Sprof主要用于Gprof的补充,分析程序的共享库(需要-g编译)。1.export LD_PROFILE_OUTPUT=${PWD}2.export LD_PROFILE=abc.so3.export LD_LIBRARY_PATH=/usr/lib/4.执行使用该so的主程序5.执行sprof so文件名 so文件名.profile
2021-06-15 17:23:35 379
转载 Linux性能优化gprof使用
gprof用于分析函数调用耗时,可用之抓出最耗时的函数,以便优化程序。 gcc链接时也一定要加-pg参数,以使程序运行结束后生成gmon.out文件,供gprof分析。 gprof默认不支持多线程程序,默认不支持共享库程序。gcc -pg 编译程序 运行程序,程序退出时生成 gmon.out gprof ./prog gmon.out -b 查看输出...
2021-06-15 16:27:09 880
jre-8u171-linux-x64.tar.gz
2023-12-26
gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.gz
2022-03-29
s7comm plus 0-0-8 wireshark64bit plugin
2020-09-28
Python+Flask 基础入门实战_实用的课程资料
2020-07-19
Protector suite 2011 Build 6894-32bit 破解版
2011-04-10
JSP+Servlet+Javabean+Mysql学生成绩管理系统
2011-03-18
JSP+Servlet+Javabean+Mysql 网上书店管理系统
2011-03-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人