C++学习
C/C++工作学习记录
sheng199463
碌碌无为
展开
-
两个unsigned char 转short,short转两个进制char
unsigned char 与short转换原创 2023-02-01 14:46:23 · 1470 阅读 · 0 评论 -
C++11 拷贝构造函数
1.拷贝构造函数在C++中,拷贝是指用已经存在的对象创建出一个新的对象。从本质上讲,对象也是一份数据,因为它会占用内存。严格来说,对象的创建包括两个阶段,首先要分配内存空间,然后再进行初始化:(1)分配内存很好理解,就是在堆区、栈区或者全局数据区留出足够多的字节。这个时候的内存还比较“原始”,没有被“教化”,它所包含的数据一般是零值或者随机值,没有实际的意义。(2)初始化就是首次对内存赋值,让它的数据有意义。注意是首次赋值,再次赋值不叫初始化。初始化的时候还可以为对象分配其...转载 2022-05-11 11:04:45 · 465 阅读 · 0 评论 -
C++ 智能指针 shared_ptr
一 shared_ptr概述shared_ptr 是C++11提供的一种智能指针类,它足够智能,可以在任何地方都不使用时自动删除相关指针,从而帮助彻底消除内存泄漏和悬空指针的问题。它遵循共享所有权的概念,即不同的 shared_ptr 对象可以与相同的指针相关联,并在内部使用引用计数机制来实现这一点。每个 shared_ptr 对象在内部指向两个内存位置:1、指向对象的指针。2、用于控制引用计数数据的指针。共享所有权如何在参考计数的帮助下工作:1、当新的 shared_ptr 对象与指针关联原创 2022-04-27 11:31:22 · 259 阅读 · 0 评论 -
C++ 智能指针 unique_ptr
#include <stdio.h>#include <memory>#include <iostream>#include <functional> class A{public: A(int a):ma(a) { std::cout << "demoA 构造 "<<"ma:"<<ma<< std::endl; } A() { ...原创 2022-04-24 17:02:49 · 1384 阅读 · 0 评论 -
C++11-lambda表达式
Lambda函数也就是一个函数,它的语法定义如下:[捕获列表](参数列表) mutable ->返回类型{函数体}捕获形式 捕获类型 说明[] 不捕获 不捕获外部变量[变量名, …] 显式捕获 默认以值得形式捕获指定的多个外部变量(用逗号分隔),如果引用捕获,需要显示声明(使用&说明符)[this] 显式捕获 以值的形式捕获this指针[=] 隐式捕获 以值的形式捕获所有外部变量[&am...原创 2022-03-08 16:48:13 · 761 阅读 · 0 评论 -
C/C++ 回调函数
在其他函数中通过函数指针调用该函数的过程称为回调,即通过传参的方式将函数地址传递给其他函数,然后在其他函数中使用该函数,该函数被叫做回调函数。一、C中回调函数使用回调函数主要是利用函数指针实现的,函数指针与一般指针一样定义,不过需要明确返回值类型与形参类型int(*callbackfun)(int, int),调用函数形式如下,、,void fun(int(*callbackfun)(int, int), int a, int b){ callbackfun(a,b);}为了使原创 2022-03-04 23:14:01 · 5018 阅读 · 0 评论