c++学习(持续更新 )

【自存学习笔记】Cpp自学教程(有C基础)持续更新 自学教材:《C++ Primer Plus 中文第六版》 2.进入Cpp 2.1进入C++ Hello Wold!的C++版本 #include "iostream" using namespace std; int main(){ cout << "hello Wold!" << endl; return 0; } C++的主函数 标准形式: #include <iostream>//这里的 i 表示in ;o表示out;ste 阅读详情

std::move

std::move

左值、右值、引用

link1
link2

tip

include里面声明的变量是可以,直接在.cc文件中直接使用的。

abs()函数主要是对int求绝对值

fabs()对float,double求绝对值

struct 初始化
a{}结构体a被初始化,各个成员都将被设置为0

二、char转int
char转int之前,先将运算式中的每个字符都转换成ASCII码值,再进行计算。
以下代码为例,其中i3的结果符合我们的预期要求。

char c = '0';
 
int i1 = c;                    // 48
int i2 = c - 0;                // 48
int i3 = c - '0';              // 0
int i4 = c + '0';              // 96
三、int转char
int转char之前,先将运算式中的每个字符都转换成ASCII码值,再进行计算。
计算出数值后,再据此转换为字符(数值为该字符对应的ASCII码值)。
以下代码为例,其中c3的结果符合我们的预期要求。

int i = 5;
 
char c1 = i;                  // 越界
char c2 = i - 0;              // 越界
char c3 = i - '0';            // 越界
char c4 = i + '0';            // 5

make_shared 是最安全的分配和使用动态内存的方法,它会在动态内存中分配一个对象并初始化它,返回指向此对象的shared_ptr,在memory头文件

void *

lambda与bind

link

enum class

限制作用域枚举类型

枚举成员的名字遵循常规的作用域准则,并且在枚举类型的作用域外是不可以访问的

eg

enum class peppers {red,yellow,green};
peppers p1=red;    //error 枚举成员不在有效作用域内
peppers p1=peppers::red;    //sucess

枚举成员是const的,所以初始化枚举成员的时的初始值必须是常量表达式。
enum class xxx:long
如果没有显示声明,默认为int
并且,限定作用域的枚举类型不像不限定作用域枚举类型那样可以自动转化成整型。

类型转换

转换后其实就详单与整容,但人还是他自己
static 只执行一次,可以覆盖;

 static JackUpData* get() {
    static JackUpData instance; //只执行一次。  
    return &instance;
  }
  这样单例子就是全局的了
#include"iostream"
int main()
{
    for(int i=0;i<7;i++)
    {
        static int a=1;
        std::cout<<a<<std::endl;
        a++;

    }
}

结果

1
2
3
4
5
6
7

const 只读

std::function

std::function是通用的多态函数封装器,它的实例可以存储、复制以及调用任何可以调用的目标:函数,lambda表达式/bind表达式或其他函数对象,还有指向成员函数指针和指向数据成员指针;
就是一个模板
std::function<int(int,int)> f
表示一个接受两个int返回int的函数对象

Subscribe(
    int channel, int device_id,
    std::function<void(const VCI_CAN_OBJ)> data_callback)

分析一下,这是个接收两个int 和一个接收VCI_CAN_OBJ的函数对象类型;
**data_callback是一个用来储存可调用对象的空function,可调用对象的形式为void(const VCI_CAN_OBJ)**
所以我们调用的时候可以传,函数指针,lambda表达式,bind函数和函数对象类的对象。

Subscribe(
      channel_, feedback_id_,
      std::bind(&CurtisDriver::HandleFeedbackMsg, this, std::placeholders::_1));

注意:返回的是可调用对形象
std::function<int(int,int)> f1=add   //函数指针
std::function<int(int,int)> f2=devide()   //重载()运算符的类对象
std::function<int(int,int)> f1=[](int i,int j){return i*j;}   //lamda表达式
std::function<int(int,int)> f1=bind(add)   //bind


C++类的学习(持续更新) C++类的学习 阅读详情

相关推荐

手把手教你搞定JBI投稿:从Statement of Significance到Declaration Statement的保姆级避坑指南

本文提供了一份详细的JBI投稿指南,重点解析Statement of Significance和Declaration of Interests的撰写技巧,帮助研究者避开常见格式陷阱。通过实战案例和检查清单,确保投稿符合JBI的学术严谨性和临床转化价值要求,提升稿件通过率。

weixin_29278805的博客 622

C++学习资源汇总(持续更新中)

C/C++基础学习: 视频教程推荐: 范磊老师书籍《零起点学通C++》,有配套视频,又名从新手到高手c++全方位学习,视频地址http://www.enet.com.cn/eschool/video/c++/  齐幼菊老师《C++语言程序设计》,优酷视频地址:http://v.youku.com/v_show/id_XMTU2MTQ1MDg=.html?f=1835177

芒果布丁00的博客 2715

RK3566添加ffpeg【Buildroot系统】

有很多人都发现了RK3566系列的芯片是不可以直接使用ffmpeg官网源码的!会报错: Not a video capture device. /dev/video0: No such device 接下来我们就来解决这个问题!!

honmy18的博客 4070

C++学习成长路线复杂版,持续更新

C++学习成长路线,持续更新 入门 C++那些事 C++那些事

caicaptain 309

飞腾D2000开发板实战:手把手教你为UEFI/EDK2驱动SD3077 RTC时钟芯片

本文详细介绍了在飞腾D2000开发板上为UEFI/EDK2环境驱动SD3077 RTC时钟芯片的全流程开发指南。从硬件连接到软件适配,包括引脚复用配置、电源管理优化以及UEFI驱动的深度定制,帮助开发者解决嵌入式系统中的时间同步问题,确保RTC芯片的稳定性和准确性。

weixin_30892037的博客 423

从原理图到代码:深入解析SX1278 LoRa模块与STM32的SPI通信驱动(附完整工程)

本文深入解析了SX1278 LoRa模块与STM32的SPI通信驱动实现,从硬件原理图到完整工程代码,详细介绍了LoRa技术的通信原理、寄存器配置、SPI接口设计及低功耗优化策略。适合物联网开发者和嵌入式工程师提升远距离无线通信能力,附完整工程代码助力快速开发。

weixin_42715608的博客 423

c++学习总结(持续更新)

如有错误误导,感谢指出

Tg662的博客 3377

STM32F103C8T6与OV7670摄像头在TFT屏上的实时数字识别系统实现

本文详细介绍了基于STM32F103C8T6单片机和OV7670摄像头实现实时数字识别系统的全过程。系统通过图像采集、预处理、二值化和模板匹配算法,在TFT屏上实时显示识别结果,并针对资源受限的单片机环境提供了内存与性能优化策略,适用于智能家居、工业仪表读数等低成本嵌入式视觉应用场景。

open4的博客 278

c++学习笔记,持续更新

蓝桥杯

weixin_74229550的博客 1300

面试问题总结——关于YOLO系列(一)

自从刚开始接到的第一个面试开始,到现在为止,陆陆续续也参加了许多场,我像是一个刚从新手村出来的小白,一路的打怪升级刷经验,期间遇到了很多不会的,我都会及时记录总结。 到现在仍然清晰记得,第一次去面试的时候,当时被怼的多惨。。。 说明:本人是非科班出身,本科是机械电子工程专业,硕士期间的研究方向是机器学习和深度学习,因为我的简历上有关于YOLO的项目,所以我着重准备了YOLO系列的面试可能遇到的问题。 决定开启这个面试问题总结的系列,包括YOLO、C++的内容、OpenCV的内容和深度学习方面被提问的问题

boss-dog 1万+

FFMPEG音频开发: Linux下采集摄像头(使用V4L2框架)数据录制成MP4视频保存到本地

一、环境介绍 操作系统介绍:ubuntu 18.04 FFMPEG版本: 4.4.2 摄像头: USB摄像头、虚拟机挂载本机自带摄像头 二、FFMPEG与X264下载编译 X264下载地址: http://www.videolan.org/developers/x264.html FFMPEG下载地址:https://ffmpeg.org/download.html Yasm ...

8872

C++ STL学习【持续更新】

STL常用操作学习,其它用到再补,欢迎补充呀~~C++常用标准模板库1.vector(动态数组)一、vector的初始化二、vector对象的几个重要操作三、遍历vector四,几种重要的算法,需要包含头文件`#include ` 更详细内容参考其它dalao总结 C++常用标准模板库 vector,set,string,map,queue,priority_queue,stack,pair,bi...

py今天刷题了吗 407

012、乘累加单元(MAC):NPU中最基本的计算单元

本文深入剖析了神经网络处理器(NPU)中的核心计算单元——乘累加单元(MAC)。作者通过实际调试案例揭示了MAC单元设计中的关键问题:定点数格式对齐、累加器位宽陷阱、流水线优化和多MAC同步方案。重点讨论了INT8量化中的边界条件处理、偏置项截断风险以及零值检测等实战经验,并提供了三点实用建议:建立精确的C模型、参考RISC-V P扩展指令集、仔细审查芯片规格书。文章强调硬件加速的实际瓶颈往往在于数据搬运而非计算单元本身,为NPU开发者提供了宝贵的工程实践参考。

m0_50546716的博客 298

C++学习成长路线,持续更新

选取了四个开发方向:一个是应用开发、一个是服务器开发、一个是音视频开发、一个是中间件开发。 等级一 基础知识(先学基本) C语言 基本 《C和指针》 进阶 《C陷阱与缺陷》 、《C专家编程》 C++ C+ +基本 《C+ + Primer》、侯捷C++面向对象高级开发 C+ +进阶 《Effective C++ 中文版(第3版)》、《More Effective C++ 中文版》、《Effective Modern C++ 中文版》、《深度探索C++对象模型》 等级二 扩充识(先学基本

caicaptain 679

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

2020 C++编程学习之路(持续更新)

2020.04.16 距离上一次编辑博客已经过去了2个多月,看到自己写的博客已经有100+的浏览非常惊讶,其实笔者一直没有更新并不是就此停滞不前了(),而是在通过视频网课和《C++ Prime Plus》学习C++,通过两个月的时间,笔者也逐渐接受了C++的语法习惯以及C++的一大特色——。笔者在学习C++编程之前,所以想向已经接触过C语言或者编程的同学一些学习C++的。

Tylers_zhang的博客 1342

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

类比java学习c++ 语言的100条代码对比示例--持续更新(会java的关注起来)

类比java学习c++ 100条代码示例[1-20]--持续更新(会java的关注起来)

wang2leee的博客 1313

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

C++学习园地 持续更新

1、API Reference Document https://www.apiref.com/cpp-zh/cpp.html

Cam_韦的博客 281

GDAL C++ API 学习之路 大纲 持续更新

虽然 OGRRangeFieldDomain 和 OGRCodedFieldDomain 都可以用于定义范围,但它们的应用场景略有不同。使用 OGRRangeFieldDomain 可以定义范围字段,例如日期范围或时间范围等;而使用 OGRCodedFieldDomain 可以定义编码字段的范围和格式,例如 SQL 编码的日期字段或 UTF-8 编码的字符串字段等。

qq_69574549的博客 1404

【学习总结】C++八股文(应该会持续更新,嗯 )

跑路吧,做游戏没有前途的,hhhh C++八股文C++基础面向对象编程部分类部分内存管理相关关键字相关STL与泛型编程部分容器(Containers)迭代器(iterator)算法(algorithm)仿函数(Functor)适配器(adpater)分配器(allocator) C++基础面向对象编程部分 类部分 面向对象的三大特性:封装、继承、多态 封装:即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别 继承:子类继承父类的特征和行为,使得子类对象(实例)具有父类的属性和

weixin_43890220的博客 2987

C++ 新手学习手册!(持续更新中)

声明:笔者仍为在校学生,有错误之处恳请批评指正。 初期按部分整理相关内容(最基本的C语言语法不做介绍),更新情况见目录~ 一、C++ 语言快餐式介绍 二、对象和类 1.什么是过程性编程?什么是面向对象?什么是面向对象编程? 2.啥叫类? 3.什么是封装? (持续更新后续内容) —————————————目录线———————————————— 一、C++ 语言快餐式介绍 C++通过一些特性改造了C语...

weixin_45612325的博客 1061

学习中遇到的c++问题,持续更新

向上取整 使用ceil函数。ceil(x)返回的是大于x的最小整数。如: ceil(2.5) = 3 ceil(-2.5) = -2

码海坐标 1345

CPP学习之奇怪的程序错误记录(持续更新中)

CPP学习之奇怪的程序错误记录(持续更新中)

gertrude20000419的博客 209

C++学习过程中的坑——持续更新

这是我在学习C++的过程中遇到的坑 坑1: 1.1 问题描述: 在用new运算符给字符数组分配内存的时候,使用cout输出时会出现乱码,代码如下: #include <iostream> using namespace std; int main() { char* pChar; pChar = new char[5]; int i = 0; while (i < 5) { cin >> pChar[i]; i++; } cout <&lt

GeomasterYi的博客 1888

c++学习历程 -持续更新中

c++ -learn 1.关于vector (1)vector的初始化赋值 一、vector vector<int> a = {1,2,3,4}; //正确 vector<int> a{1,2,3,4}; //正确 vector<int> a(4) = {1,2,3,4}; //错误 //但是要是想要一个空的 就得 vector<int> a(4); ...

manong11的博客 239

【C++基础】C++学习手记(持续更新)

搞过几年纯C,对于面向过程的编程思想有了一定掌握。对于常年征战面向对象的人来说,从java转python学习成本并不高,面向对象的思想具有通用性。而对于从纯C工程师而言,转型往往具备一定难度。以最近的工作为契机,接触到了C++方面的知识,随手记录下。一、C++中 :: 符的使用C语言中不同功能的C文件之间,其函数体往往需要加入前缀来区分,例如读取IIC操作,IIC_Read();读取串口,UART_Read()。在C++中为了避免不同的类成员命名重复,使用符号 ::来表示作用域和从属划分。::符前面一般是类

qq_39645539的博客 191

C++学习记录(持续更新)

1、存储单位 字节(Byte)B 位(bit)b 2、局部变量和全局变量 程序的编译单位是源程序文件,一个源文件可以包含一个或若干个函数。在函数内定义的变量是局部变量,而在函数之外定义的变量则称为外部变量,外部变量也就是我们所讲的全局变量。它的存储方式为静态存储,其生存周期为整个程序的生存周期。全局变量可以为本文件中的其他函数所共用,它的有效范围为从定义变量的位置开始到本源文件结束。 然而,如果全局变量不在文件的开头定义,有效的作用范围将只限于其定义处到文件结束。如果在定义点之前的函数想引用该全局变量,则应

m0_50179075的博客 301
上一篇: yolo 踩过的坑与aconda安装指定版本包(持续更新)
下一篇: ubuntu 安装--手动分区
黑猫爱小鹿
博客等级 码龄8年 1万+粉丝 205原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值