首页 > 编程语言 >Effective C++学习

Effective C++学习

时间:2024-09-26 15:46:21浏览次数:1  
标签:Effective int C++ public 学习 拷贝 构造函数 class size

导读

声明式

extern int x;

std::size_t numDigits(int num);

class Person;

template<typename T>
class GraphNode;

签名式

std::size_t (int); //这个函数获得一个int,返回一个size_t

定义式

int x;

std::size_t numDigits(int num)
{
    std::size_t digitSoFar = 1;
	while((num/10) != 0)  ++digitSoFar;
	return digitSoFar;
}

class Person{
public:
    Person();
	~Person();
};

template<typename T>
class GraphNode{
public:
    GraphNode();
	~GraphNode();
};

初始化(通常由构造函数执行,所谓默认构造函数就是可以被调用但不含实参者)

class A{
public:
    A();
};
------------------------------------------------------------------------
class B{
public:
    explicit B(int x = 0; bool y = true); //explicit阻止隐式类型转换,但仍可被显式类型转换
};
------------------------------------------------------------------------
class C{
public:
    explicit C(int x); //这个就不是default默认构造函数
};
------------------------------------------------------------------------
class D{
public:
    D();                     //默认构造函数
	D(const D& d)         //拷贝构造
	D& operator=(const D& d)//拷贝赋值构造
}

D d1;             //默认
D d2(d1);         //拷贝
d1 = d2;         //拷贝赋值
D d3 = d1;       //拷贝!!!! 区别就在于,新创建的d3是拷贝,已经存在的是拷贝赋值

class作为入参的时候,尽量不要值传递(本质上会用拷贝构造),用引用传递

条款01 视c++为一个语言联邦

标签:Effective,int,C++,public,学习,拷贝,构造函数,class,size
From: https://www.cnblogs.com/xsl-blogs/p/18432994

相关文章

  • 吴恩达-深度学习-课后作业-答案与总结
    deeplearning-assignment吴恩达-深度学习-课后作业-答案与总结作业只上传了ipynb文件,ipynb文件会持续更新,其它附件如预训练模型等由于太多太大,存放于网盘中执行ipynb文件所需附件下载地址,链接:百度网盘-链接不存在 密码:66gd吴恩达深度学习视频地址:进入 http://study.163......
  • 【前端学习】 NestJS 之 控制器 (Controller)
    文章目录控制器(Controller)*路由(router)请求对象(requestobject)*资源(Resources)状态码(statuscode)标头&重定向(headers&redirection)*路由参数(routeparameters)*请求负载(requestpayloads)启动并运行小结控制器(Controller)控制器负责处理......
  • MarkDown学习
    MarkDown学习标题三级四级字体helloword!粗体在两边加上两个*号helloword!斜体在两边加上一个*号helloword!斜体加粗在两边加上三个*号helloword! 在两边加上两个~~号引用选择大于努里>分割线三个—三个*图片本地图片路径网络图片地......
  • go语言学习入门
    packagemain是什么packagemain是Go语言程序的包声明,表示该文件属于主包。主包是Go程序的入口点,包含一个名为main的函数。这个函数是程序启动时首先执行的代码。每个可执行的Go程序都需要有一个main包和main函数。packagemainimport"fmt"funcmain(){fmt.P......
  • Arthas学习笔记
    一、运行环境操作系统:centos7.9Java版本:jdk1.8.201arthas版本:3.6.9二、安装Arthas并attach一个进程curl-Ohttps://alibaba.github.io/arthas/arthas-boot.jarcurl-Ohttps://alibaba.github.io/arthas/arthas-demo.jarjava-jararthas-demo.jar#先启动Javademo进程......
  • 数据挖掘与机器学习(DM&ML)(PART3)
    三.DATA(Whatisdata?)1.1数据集的类型:记录型:数据矩阵:以矩阵形式呈现的数据集合,通常行代表对象(记录、实例等),列代表属性。例如,一个包含学生信息的数据集,行可以是不同的学生,列可以是学生的姓名、年龄、成绩等属性。文档数据:由文档组成的数据集,每个文档可以是一篇文章、一......
  • Python学习
    Python学习1.执行python程序大多数程序语言,入门编程代码是"HelloWorld!",以下代码为使用Python输出(打印)"HelloWorld!"print("HelloWorld!")可以理解为想打印什么东西只需要把print("")写好,把想打印的内容放在""里即可2、打印多个HelloWorld!需求:打印1000......
  • prometheus学习笔记之服务发现kubernetes_sd_configs
    一、prometheus的服务发现机制prometheus默认是采用pull方式拉取监控数据的,也就是定时去目标主机上抓取metrics数据,每一个被抓取的目标需要暴露一个HTTP接口,prometheus通过这个暴露的接口就可以获取到相应的指标数据,这种方式需要由目标服务决定采集的目标有哪些,通过配......
  • prometheus学习笔记之其他常用服务自动发现
    一、consul_sd_configsConsulSD配置允许从Consul的CatalogAPI检索抓取目标1.部署Consul 安装参考文档:https://developer.hashicorp.com/consul/install#linux,确认自己的操作系统和安装环境及版本,根据文档下载并安装unzip-qconsul_1.12.2_linux_amd64.zip#由于下载比较慢,直......
  • prometheus学习笔记之kube-state-metrics
    一、kube-state-metrics简介Kube-state-metrics:通过监听APIServer生成有关资源对象的状态指标,比如Deployment、Node、Pod,需要注意的是kube-state-metrics只是简单的提供一个metrics数据,并不会存储这些指标数据,所以我们可以使用Prometheus来抓取这些数据然后存储,主要......