cpp(第八章)

1.

#include <iostream>
inline int add(int &n)
{
    n= n+1;
    return n-1;
}
int main()
{
    using namespace std;
    int n_i= 0;
    cout<<add(n_i)<<endl<<add(n_i)<<endl<<n_i<<endl;
    cout<<n_i<<endl;
    return 0;
}

cout<<从右到左放进缓存,按值的传递,接着从左到头输出。

2.引用更接近const指针,必须在创建时进行初始化。

3.将引用参数声明为const(在参数不准确时)可以使函数能够正确生产并使用临时变量。

4.返回引用。如果不是返回引用的话,首先要将返回的值赋值给一个临时变量,再将临时变量赋值给调用函数。而返回引用可以跳过临时变量的环节。(应避免返回指向临时变量的指针,临时变量在函数返回时就结束,所以指针指向未知)。

5.默认参数。从右到左设置默认参数,从左到右对应实参。

6.特征标指参数列表。

7.模板的实例化和具体化。

8.编译器选择使用哪个函数版本。(可以自己选择 函数名<>(参数))。

时间: 2024-08-08 05:37:21

cpp(第八章)的相关文章

传智播客C语言视频第二季(增加诸多C语言案例讲解,有效下载期为10.5-10.10关闭)

?? 卷 backup 的文件夹 PATH 列表卷序列号为 000000F4 D4A8:14B0J:.│  1.txt│  2.txt│  ├─1传智播客_尹成_C语言从菜鸟到高手_第一章C语言概述A│  ├─文档│  │      第1讲 C语言第一阶段.doc│  │      │  └─视频│          第1讲 C语言第一阶段.mp4│          ├─2传智播客_尹成_C语言从菜鸟到高手_第二章C语言跨平台HelloWorld-A│  ├─第10节 2.5.1-2.5.7C

第八章 类对象的特性

第八章 类对象的特性 面向对象程序设计有4个主要特点:抽象.封装.继承和多态. 任何对象都应当具有两个要素,即属性和行为.对象是由一组属性和一组行为构成的. 1.类的声明和对象的定义 *类是对象的抽象,对象是类的具体实现. *类的声明: class 类名{ 成员属性:成员:... } *对象的定义:与普通类型相同: 2.类的成员函数 *成员函数的性质:public,protected,private *类外定义成员函数:(要体现作用域)函数类型 类名::函数名(参数表){函数体:} *内置成员函

《Linux内核设计与实现》读书笔记 第十八章 调试

第十八章调试 18.1 准备开始          需要准备的东西: l  一个bug:大部分bug通常都不是行为可靠而且定义明确的 l  一个藏匿bug的内核版本:找出bug首先出现的版本 l  相关内核代码的知识和运气 最好能让bug重现,有一些bug存在而且有人没办法让他重现,因为内核与用户程序和硬件间的交互很微妙. 18.2内核中的bug 可以有无数种原因产生,表象也变化多端.代码中的错误往往引发一系列连锁反应,目击者才看到bug. 18.3通过打印来调试 内核提供了打印函数printk

第八章、Linux 磁盘与文件系统管理

第八章.Linux 磁盘与文件系统管理 1. 认识 EXT2 文件系统 1.1 硬盘组成与分割的复习 1.2 文件系统特性: 索引式文件系统 1.3 Linux 的 EXT2 文件系统(inode): data block, inode table, superblock, dumpe2fs 1.4 与目录树的关系 1.5 EXT2/EXT3 文件的存取与日志式文件系统的功能 1.6 Linux 文件系统的运行 1.7 挂载点的意义 (mount point) 1.8 其他 Linux 支持的文

函数模版和主函数分别在.h .cpp中(要包含.cpp)

Complex.h #pragma once #include<iostream> using namespace std;//这句还必须加,要不然致错,不懂为啥呢 template <typename T> class Complex { public: Complex( T a); ~Complex(); Complex operator + (Complex & c1); public: friend ostream & operator << &

Java 第八章 类的方法(一) 笔记

Java 第八章 类的方法(一) 一.类的方法语法: 访问修饰符 返回值类型 方法名(){             方法体:      } 二.方法名的规范:     1.必须以字母."_"或"$"开头     2.可以有数字,但不能以数字开头.     3.如果方法名是多个单词组成 ,第一个单词的首字母小写,      其后单词首字母单词大写.     4.方法名都采用动词. 三.方法的返回值     1.有返回值:必须告知返回值的数据类型,并且返回相应的值. 

QThread的源码(直接搜索&quot;thread.cpp&quot;即可,或者在github里搜)

void QThread::run() { (void) exec(); } int QThread::exec() { Q_D(QThread); QMutexLocker locker(&d->mutex); d->data->quitNow = false; if (d->exited) { d->exited = false; return d->returnCode; } locker.unlock(); QEventLoop eventLoop; i

ROS机器人程序设计(原书第2版)补充资料 (捌) 第八章 导航功能包集入门 navigation

ROS机器人程序设计(原书第2版)补充资料 (捌) 第八章 导航功能包集入门 navigation 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. 本章三个非常重要概念:TF,SLAM,AMCL.务必掌握. 补充内容:http://blog.csdn.net/zhangrelay/article/details/50299417 第216页: 简介本章要点. 第217页: 导航综合功能包组成架构等. 补充如下: 目录 配置并使用导航功能

Caffe 源碼閱讀(三) caffe.cpp

從main函數說起: 1.gflags庫中爲main函數設置usage信息 是google的一個開源的處理命令行的參數的庫.在使用命令行參數的文件夾文件中(源文件或頭文件),首先使用以下定義語句進行變量的定義. DEFINE_int32, DEFINE_int64, DEFINE_bool等, 語法爲:DEFINE_int32(name,default_value,"description").接着你就可以使用FLAGS_name變量了,這些變量的值則是由命令行參數傳遞,無則爲默認值,