【光速学习C++】一些笔记整理

这篇具有很好参考价值的文章主要介绍了【光速学习C++】一些笔记整理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

因为开发需要使用C++编写代码,但是博主以前完全没有接触过C++,或者类似的面向对象的开发语言,只能一边硬着头皮写一边总结知识点了

class类里面的三个状态:

一开始被这三种状态搞得云里雾里,现在稍微总结出一些经验.
public:
public类里面的东西可以被别的类,或者主函数调用,所以在里面放的就是一些在类外会用到的东西
private:
私有类里面的东西只能在类内操作,也就是我不能在其他地方直接操作这些数据,包括先初始化一个实例然后再使用也是不行的,想要使用必须在public里面写一些更改私有变量的函数,每次想要改变或者调用类的私有变量时,用Public里面的这些函数作为跳板,获取私有变量的值.
一般就把那些变量或者常量放在里面
protected
据说好像是用在继承里面,但是我还没有学到这一步,暂时把这个概念放一下

结构体的对齐

#pragma pack(1)

在文件头加入这一句,可以使结构体1字节对齐,不会进行补全

构造函数和析构函数

class a{

};
a::a() //构造函数
{
}
a::~a()//析构函数
{
}

构造函数会在类被初始化的时候自动运行,它没有返回值,可以用做各种函数的初始化 ,默认不会带初值,但是可以在Public里面带参数调用构造函数,这样在构造函数在运行时就会获得参数.
析构函数会在删除所创建对象时执行.他不能带参数,也不能返回值,有助于在跳出程序前释放资源

explicit/implicit

explicit: 用于修饰只有一个参数的类构造函数,表明该构造函数是显式的,会取消隐式转换
**implicit: ** 表面该构造函数是隐式的

常量

nullptr: 用它来替代NULL,用来区分空指针和0,一般就让空指针等于这个nullptr
constexpr: 定义一个常量表达式

类型推导

auto: 可以在循环中定义变量来迭代vector变量,还可以用于参数传参,但是现在还不能用在推导数组类型
decltype: 可以推断表达式的类型

线性容器

std::array<>和std::vector<>:前者要指定好内存,后者内存会随着数据的增加自己增长,但是在删除操作时,内存并不会自动返还,需用.shrink_to_fit()将额外内存归还给系统

内存分配

new: 为任意数据类型动态的分配内存

double* pvalue  = NULL; // 初始化为 null 的指针
pvalue  = new double;   // 为变量请求内存

delete: 释放内存

delete pvalue

命名空间: 使用关键字namespace,后面跟命名空间的名称

namespace name {
   // 代码声明
}
name::code;

使用了命名空间就可以指定命名空间中的特定项目

多线程

#include <pthread.h>
pthread_create(thread,attr,start_routine,arg)

thread :指向线程标识符的指针
attr: 用来设置线程属性对象,也可以使用默认值NULL
start_routine: 线程运行的起始地址
arg: 运行函数的参数

终止线程

phread_exit (status)

Vector<>
一种容器,有一些方法

vector<int> vec;
vec.size();//求大小
vec.push_back(1);//将数值推到容器的尾部
vec.begin();//起始点
vec.end(); //终止点
//可以用迭代器iterator访问值
vector<int>::iterator v = vec.begin;
while(v!=vec.end())
{
	v++;
}

Friend

友元函数,在定义一个类的时候,可以把函数和变量声明为友元函数,这样在友元函数内部可以访问该类的私有成员文章来源地址https://www.toymoban.com/news/detail-460546.html

到了这里,关于【光速学习C++】一些笔记整理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 嵌入式开发中一些需要留意的地方

            使用STM32开发的朋友不知道是否有发现过这样的一些宏定义?如下:         看到上面的语句一开始确实搞不懂为什么要写这些东西,通过上网去查询,才搞明白这其中的使用原理。         上面的代码段我们可以看到两部分的内容:         1)__CC_ARM  

    2024年02月06日
    浏览(31)
  • 【笔记】Arrays.binarySearch()实践,以及需要注意的一些问题点

    背景:我想校验一个指定的String字符串,是否存在于另一个String数组中,选择 Arrays.binarySearch() 方法实现,代码如下: 运行结果: 很直观的能看到item数组里面存在字符串 1591 ,为什么程序运行的结果却是找不到该元素呢? 首先来看一下源码: 注意,注释上提到了两个重点:

    2024年02月06日
    浏览(36)
  • 学习网安需要了解的一些基础知识

    1.POC/EXP POC(proof of concept)常指一段漏洞验证代码;EXP(exploit)指利用系统漏洞进行攻击的动作 PoC是证明 漏洞 存在的,而  Exp  是利用这个 漏洞 进一步进行攻击,先有POC,才有EXP         2.Payload/shellcode payload(有效攻击负载) 指的是漏洞利用载荷利用管道,我们在漏洞利用成

    2024年02月11日
    浏览(34)
  • 前端新员工入职,需要为你的新电脑安装一些环境,开发工具

    目录 一.先安装个谷歌浏览器,稳定版。 二.安装公司日常交流软件 三.安装个VSCode 四.安装nvm 五.vue-cli的安装和配置 六.安装git 配置git账号 拉取线上仓库到本地 一些常用git命令 GitLab配置公钥私钥  七.其他工具 网络抓包工具:whistle 反向代理工具:nginx 调试接口工具:postma

    2024年02月06日
    浏览(49)
  • 【iOS逆向与安全】iOS插件开发光速入门

    经过之前的学习,相信你已经能熟练的使用Frida-trace、IDA Pro等逆向工具。不过,仅仅到这肯定是不够的。接下来,学会把你逆向的结果打包成插件并运行,那iOS逆向,你也就真正的入门了。 把逆向的结果制作成插件并运行 mac系统 Xcode:插件开发工具 已越狱iOS设备:运行deb插

    2024年02月06日
    浏览(29)
  • 【笔记整理】元学习笔记

    参考 元学习——MAML论文详细解读 迁移学习概述(Transfer Learning) 一文入门元学习(Meta-Learning) 基于度量的元学习和基于优化的元学习 - 知乎 (zhihu.com) 元学习(Meta Learning)与迁移学习(Transfer Learning)的区别联系是什么? - 许铁-巡洋舰科技的回答 - 知乎 1、概述(“多任务

    2024年02月08日
    浏览(29)
  • 机器学习(python)笔记整理

    目录 一、数据预处理: 1. 缺失值处理: 2. 重复值处理: 3. 数据类型: 二、特征工程: 1. 规范化: 2. 归一化: 3. 标准化(方差): 三、训练模型: 如何计算精确度,召回、F1分数 在数据中存在缺失值的情况下,可以采用删除缺失值、均值填充、中位数填充、插值法等方式进行

    2024年02月07日
    浏览(33)
  • shell学习笔记(详细整理)

    主要介绍:主要是常用变量,运算符,条件判断,流程控制,函数,常用shell工具(cut,sed,awk,sort)。 程序员为什么要学习Shell呢? 1)需要看懂运维人员编写的Shell程序。 2)偶尔会编写一些简单Shell程序来管理集群、提高开发效率。 (1)Linux提供的Shell解析器有: (2)bash和sh的

    2024年02月11日
    浏览(21)
  • VIAN学习笔记整理

    VLAN(Virtual Local Area Network)的中文名为\\\"虚拟局域网\\\"。 VLAN技术的出现,使得管理员根据实际应用需求,把同一物理局域网内的不同用户逻辑地划分成不同的广播域,每一个VLAN都包含一组有着 相同需求 的计算机工作站,与物理上形成的LAN有着相同的属性。 由于它是 从逻辑上

    2024年01月17日
    浏览(31)
  • 网络安全法学习整理笔记

    概念 网络:是指由计算机或者其他信息终端及相关设备组成的按照一定的规则和程序对信息进行收集、存储、传输、交换、处理的系统。 网络安全:是指通过采取必要措施, 防范 对网络的攻击、侵入、干扰、破坏和非法使用以及意外事故,使网络处于稳定可靠 运行的状态

    2024年02月05日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包