new 引用 字符串 函数重载

1.1命名空间

 namespace 可以自定义命名空间,详见命名空间

(1)以“命名空间::元素” 的方式指定命名空间中定义的元素

#include<iostream>
int main() {

		std::cout << "C++" << std::endl;
		return 0;
	
}

(2)使用using语句引用命名空间

#include<iostream>
int main() {

	using std::cout;
	using std::endl;
	cout << "C++" << endl;
		return 0;
	
}

(3)使用using namespace std; 这样引入std空间后,std中定义元素就都可以用了

#include<iostream>
using namespace std;
int main() {

	cout<<"C++"<<endl;
		return 0;
	
}

但这种情况引用多个命名空间就会出错,例如标准库中含有swap()函数,若再自定义一个swap()函数,函数就会出现二义性错误 

#include<iostream>
using namespace std;
void swap(int& x, int& y);

void swap(int& x, int& y) {
	x = y - x ;
    y = x - y ;
	cout << "你使用了自定义的函数" << endl;
}
int main() {

	int a = 3, b = 4;
	swap(a, b);
	cout << "a = " << a << " ," << "b = " << b << endl;

		return 0;
	
}

//你使用了自定义的函数
//a = 1 ,b = -3

可见某个库函数名与你的函数名撞名了,会优先使用自定义的函数

int a = 3, b = 4;
swap(a, b);
cout << "a = " << a << " ," << "b = " << b << endl;
//输出结果为“你使用了自定义的函数你使用了自定义的函数
//a = 4 ,b = 3”

1.2 与C的区别

<1>常变量无法通过指针修改:

const int a = 10;

int *p = &a ;

*p = 20;(错)

<2>新增bool类型

bool a = false;

bool b = true;

bool greater(int x,int y){ return a>b;}

1.3 默认参数

#include<iostream>
using namespace std;
void add(int x , int y = 4, int z = 5) {
	cout << x + y + z << endl;
}

int main() {

	add(1);    //1+4+5=10
	add(1, 2);   //1+2+5 = 8
	return 0;
}

由此可见,实参与形参同时存在时优先使用实参,若缺少实参则用形参做替补。

1.4 函数重载

函数重载:在同一个作用域内,函数名相同,但参数个数或参数类型不同。

(注意: 在形参数据类型为double或float时,实参必须带小数,整数要带“.0”,否则编译器会识别失败)

#include<iostream>
using namespace std;
void add(int x , int y ) {
	cout << "int: "<<x + y << endl;
}
void add(double x, double y) {
	cout << "double: " << x + y << endl;
}

int main() {

	add(1,2);   //3
	add(1.5, 3.0);  //4.5
	return 0;
}

1.5 引用

&后面的数是等号后面数的小名

引用与指针的区别

int a = 10;
int& b = a;
b += 6;
cout<<"a = "<<a<<endl;

//a = 16

(1)引用时必须要初始化,变量类型要一致

(2)不能绑定常值,例如 int &a =10;所以如果想使用常量值初始化引用,则必须引用const引用,也叫const修饰

const int& a = 10;

此处引用了b,同时b的值是无法再更改的

(3)引用绑定后,不能再做其他值的引用;否则提示错误:多次初始化

1.6 string与字符串

1.7 new & delete

new&delete :堆区

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值