C++
文章平均质量分 55
C plus plus
Zjkai_
Better late than never.
展开
-
关于C++中,delete 和delete []的区别
我猜,肯定有人认为一个是对变量的内存空间进行释放,一个是对数组的内存空间进行释放。其实根本不是这样,比如我有一个数组这两个delete其实可以达到一样的效果。但是当数组是一个类的数组的时候,情况就不一样了,delete不会调用类对象的析构函数,而delete [] 会调用类对象的析构函数。原创 2022-12-04 19:59:35 · 403 阅读 · 1 评论 -
C++11智能指针(shared_ptr/weak_ptr/unique_ptr/auto_ptr)详细讲解
C++11中有shared_ptr与weak_ptr、unique_ptr等智能指针(smart pointer),定义在中。可以对动态资源进行管理,保证任何情况下,已构造的对象最终会销毁,即它的析构函数最终会被调用。原创 2022-09-09 14:56:11 · 366 阅读 · 0 评论 -
gdb调试的简单介绍
如何让程序可以被调试正常情况下我们通常是使用下面的方法来编译程序的gcc -o test test.c用gcc编译源程序的时候,编译后的可执行文件不会包含源程序代码,如果您打算编译后的程序可以被调试,编译的时候要加-g的参数,例如:gcc -g -o test test.c调试程序直接在命令行中输入下面的命令就可以进行调试啦gdb test几个基本的调试命令命令全称命令缩写命令说明breakb设置断点,b 15 表示在第15行设置断点,一次调试可以设置多个断原创 2022-04-18 21:46:00 · 144 阅读 · 0 评论 -
C++Lambda表达式,超详细的讲解,保证一遍懂
1、Lambda表达式的概述C++11引入了Lambda表达式,用于定义并创建匿名的函数对象,主要用于方便编程,避免全局变量的定义,并且变量安全。Lambda表达式的定义语法如下:[函数对象参数](函数参数)修饰符->返回值类型{函数体};2、Lambda表达式语法分析2.1 函数对象参数[]标识一个Lambda表达式的开始,这一部分是不可以忽略的。函数对象参数只能使用到定义该Lambda表达式为止定义过的局部变量,包括Lambda表达式所在类的成员变量。函数参数有以下几种形式:空:原创 2022-03-12 12:38:03 · 16734 阅读 · 1 评论 -
关于我在结构体中写了这样的语句然后报错的分享
一个平静的下午因为这个代码变得不平静原创 2022-03-02 16:22:30 · 502 阅读 · 0 评论