C++入门

去看我新的文章吧这里写的毕竟乱.

这里先讲一个符号::,用了这个就是在全局中或你指定的类中寻找比如:

#include<iostream>
using namespace std;
int a = 1;
int main() {
	int a = 10;
	printf("%d\n", a);
	printf("%d",:: a);
	return 0;


}

这样就会输出10  和1了。

那么这里的namespace是什么呢?C++里有个东西叫命名空间,就这个玩意,用了这个,c语言里发生的重名而报错这里就可以用命名空间避免。所以我们可以创建一个namespace,如下:

#include<iostream>
#include"2.h";
#include"1.h";
using namespace std;
int a = 1;
int main() {
	
	struct first::A node1;
	struct second::A node2;
}
namespace second {
	struct A {
		struct A* node;
		char a;
	};
}
namespace first {
	struct A {
		struct A* node;
		int a;
	};
}

这样就不会报错啦。::的另一种用法大家也看到了。

namespace也有多种用法,1上面是指定命名空间访问,2下面讲全局展开。全局展开就像using namespace std一样,你只要using namespace(命名空间的名字),这样就会在这空间里找了。不过项目里不建议全局展开std。那么怎么办呢?3还可以部分展开,比如你要用cout ,可以就

using std::cout;。

接下来我们讲缺省,看一组代码

#include<iostream>
using namespace std;
int add(int x=1, int y=3, int z = 10) {
	int sum = x + y + z;
	return sum;
}
int main() {
	
	int m1,m2,m3,m4;
	m1 = add(3, 4, 1);
	m2 = add(3, 4);
    m3 = add(3);
    m4 = add(4);
	cout << m1 << endl;
	cout << m2 << endl;
    cout << m3 << endl;
    cout << m4 << endl;
}

然后会输出8 17 16 14.所以如果你在函数定义中有定义过数字,那么如果调用时你缺省了这个参数,那么参数就会用你定义的那个数字。但是不可跳跃的缺省,应从右往左。那这有啥用嘞?

举个例子,比如开辟空间,你可以定义中给一个数字100,然后这个数让用户来决定,如果不知道开多大的空间,就用你的定义的100,知道的话就用户自己给。

感谢,祝大家共同进步!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值