我是靠谱客的博主 激情康乃馨,最近开发中收集的这篇文章主要介绍C++学习笔记之语法1,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.以后用C++写东西,因此其后缀为.cpp
2.代码解释:

#include<iostream>//输入输出流的头文件 cin cout
using namspace std;//打开命名空间,这句话包含了cin,cout,用了之后才能用cin,cout

3.bool类型
表示真(true)或假(false),0或1,大小为一个字节
4. &引用:用来给变量取别名(就是取个小名)
用法:真名的类型 & 别名=真名

int &x=a;//给变量a取了别名叫x

更深层次的是以下例子:

#include<iostream>
bool fun1(int &a,int &b)//类似int *a=&a;
{
	a=110;
	b=110;
	return a==b;
}
int main()
{	
	cout<<fun1(2,6)<<endl;//这句话是错误的
	//因为引用的话,必须要引用一块合法的内存空间
	//所以得定义以下
	int a=2,b=6;
	cout<<fun1(a,b)<<endl;//这句话是对的
	
	return 0;
}

通过&外部变量可以直捣其函数的内部
引用参数,可以达到在函数内部所操作的数据就是函数外部的数据(相当于地址传递)(上面的程序就是例子)

引用大小占4个字节,对于传参来说,如果类型比较大,除了指针之外,多了一种选择方式
那么指针和引用的区别:
a.指针是一个有内存的实体,而引用只是个外号
b.引用是常量,常量必须初始化
c.指针可以赋空值
d.指针的内存唯一的,引用不唯一

5.#define N 10空间换时间
类似的,函数有内联
inline void fun(){}
在函数前面加上incline就是内联函数
如果出现函数体的代码过长,如果有循环,不建议使用内联
使用的情况:简单的赋值语句,简单的返回语句(函数体少,使用频率高)
6.函数重载
构成函数重载的条件:a.函数名一致b.参数列表位置不同,构成函数重载
例子:

 int arr(int a,int b){return a+b;}
 void arr(double a,double b) {printf("%lf",a+b);}
//这个arr函数构成函数重载

但是
出现下面情况的时候:

void a(int b){}
void a(float b){}

容易出现二义性,此时的话,VS会帮助我们把基本数据类型的大类型转成小类型
7缺省函数
函数的缺省参数(也就是形参有初始化的值)
a.参数的缺省只能由后往前缺省,依次缺省,不能由前往后
void fun(int a,int b=2,int c=3);//可以这样写
void fun(int a,int b=2,int c);//不可以可以这样写
b.参数的缺省,在只有定义的情况下可以直接写在定义上,如果有声明,只要在声明中缺省,定义不需要
定义:void fun(int a,int b,int c);
声明:void fun(int a,int b=2,int c=3);
c.缺省参数的过程,如果对应位置不给出实参,就直接用缺省的参数,如果给出实参,会用实参替换掉缺省的参数
d.参数的缺省如果和重载混合一起使用,一定要注意因为缺省参数导致的二义性
void fun(int a,int b=10,int c=20){} 这样从第2个形参开始有默认参数了后面的参数就必须要有默认参数

void fun(int a){} 如果上下有这么两个函数就会在调用(<fun(1)>)下面这个函数的时候出现二义
首先:同时用这两个函数的时候会报错

void fun(int a=1,int b=1,int c=1,int d=1)
{
	cout<<a<<"t"<<b<<"t"<<c<<"t"<<d<<endl;
}
void fun()
{	cout<<"haha"<<endl;
}

最后

以上就是激情康乃馨为你收集整理的C++学习笔记之语法1的全部内容,希望文章能够帮你解决C++学习笔记之语法1所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部