Accelerated C++学习笔记4

本文探讨了C++中的泛型编程通过模板函数实现的方法,并详细解释了内部类型与自定义类型的区别。此外,还介绍了如何使用完整的限定名以增强代码的可读性和维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.实现了泛型函数的语言特征被称作模板函数,位于模板之后的关键概念是,不同类型的对象仍然可以享有共同的行为特性。

2. typedef typename vector<T>: : size_type  vec_sz;
  typename 在这里的使用,是告诉系统环境,vector<T>: : size_type是一个类型名。

3.数据结构独立性

4.C++的类型可以分为两类:内部类型自定义类型

5.内部类型包括了 char int 和double 

6.string,vector和stream都是自定义类型

7.自定义的类的接口也就是我们对类对象的操作

8.自定义类中,我们都使用了完整的限定名std::vector,std::string,是因为供他人使用的代码应该包含最少数量的必要声明。

9.我们在头文件中使用了完整的限定名,在对应的源文件中使用了适当的using 声明。若我们打算让程序正文出现在头文件之外,那么在编写的时候我们通常不会使用完整的限定名。

7.如果我们把::放在一个名称之前,那就表明了我们要使用这个名称的某一个版本,而所使用的这个版本不能是任何事物的成员。??????

8.常量成员函数,不可以改变正在由它们执行的对象的内部状态,所以我们可以用常量对象调用它。出于同样的原因,我们不能对常量对象调用非常量函数,这样会改变对象的状态。

9.如果函数会改变一个对象的状态,那它就应该作为这个对象的成员。但那些不会改变对象状态的函数,该如何处理,我们可以考虑一下这个函数是做什么的以及用户可能会希望以怎样的方式来调用它。

10.存取器函数,容许我们对一部分数据结构的访问,只读不写。

11.构造函数是一个特殊的成员函数,它定义了对象的初始化方式。一个构造函数不能被显示地调用。相反,在创建一个自定义类型的对象的时候,作为其副作用,一个适当的构造函数会被自动调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值