【光速学习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日
    浏览(39)
  • 【笔记】Arrays.binarySearch()实践,以及需要注意的一些问题点

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2024年01月17日
    浏览(39)
  • 【笔记整理】图神经网络学习

    参考 用于分析结构化数据的图神经网络 (GNN) 简介 Graph Neural Networks: Methods, Applications, and Opportunities 图神经网络(Graph Neural Networks,GNN)综述 如何通俗地解释欧氏空间? 2021_金融智能下的图机器学习实践 2021_图神经网络加速芯片:人工智能 “认知智能”阶段起飞的推进剂 A Ge

    2024年02月06日
    浏览(58)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包