C++ 入门(1)基本语法:命名空间和缺省参数

本文介绍了C++语言中作用域的概念,重点讲解了命名空间的作用及其在解决C语言变量名冲突中的应用,同时涵盖了iostream头文件在输入输出中的使用以及C++中的缺省参数功能。
摘要由CSDN通过智能技术生成

C++是在C语言基础上发展起来的一门语言,它最初的作用是来解决部分C语言的弊端。

初学C++,我们先要认识C++的几个作用域,有全局域,局部域,命名空间域等等。

1.命名空间

在C语言中,我们在定义变量时,一些变量名可能于库函数中的关键字重名冲突。那么,在不改变变量名字的前提下,如何曲别变量名和关键字名呢?

这个时候,命名空间域就能起作用了。命名空间可以对其中的内容进行封装保护,在不特地调用的情况下,编译器在编译的过程中不会展开读取其中的内容。

命名空间的关键字是 namespace 

一般结构为

namespace rand
{
  int a=0;
}

其中,命名空间可以包括的内容有很多

namespace guoziyin
{
	int a = 100;//基本变量类型
	int b = 50;
	namespace gmy//甚至嵌套一个命名空间
	{
		int  Add(int a, int b)//函数
		{
			return a + b;
		}
		 struct queue//结构体
		{
			int* a;
			int size=0;
			int capacity=0;
		}QU;
	}
}

默认情况下,不会直接展开命名空间,只有用了对应的关键字或符号,才会在编译阶段允许展开访问命名空间。

调用命名空间的方法有两种:

第一种,关键字 using ,直接展开命名空间的全部内容

using namespace std(命名空间名);

如上std中的所有内容就都可以使用了。

但在一些特殊应用场景下,我们只需要用到其中的一种或几种,那我们就可以单独展开调用。

第二种,用 :: 作用域符号,  std(命名空间名):: a(所要调用的内容)

printf("%d\n",std::a);

2.认识几C++的简单语法

在C语言中,我们输入和输出内容一般用<stdio.h>中的printf 和scanf,它们在C++中任然适用。但C++中也有新的语法,要在 C++ 中执行任何输入和输出操作,我们需要使用 iostream 头文件。如果没有 <iostream> 头文件,就无法从用户那里获取输入或打印任何输出。

在C++中,输出用符号 << (流插入)搭配cout使用,输入用 >> (流提取)搭配cin使用。

一般形式为:

#include<iostream>

std::cout << "a = " << a << std::endl;//输出a的值

std::cin >> i;//输入i的值

其中的std是在C++标准库中的函数和对象的命名空间,cout和cin就是std中定义的函数。

如果不想用std:: ,也可以

#include<iostream>

using namespace std;//结合上面关于命名空间的内容

cout << "a = " << a << endl;//输出a的值

cin >> i;//输入i的值

同样也可印空格或换行等内容

std::cout << '\n' << ' '  << std::endl;

3.缺省参数

在C语言中,定义的函数的参数是不能直接给值的。但在C++中,可以给函数一个默认的参数,在没有给函数传值的时候,就可以调用这个参数。

void F2(int a = 10, int b = 20, int c = 30)//全缺省,从左往右
{
	cout << "a = " << a << endl;
	cout << "b = " << b << endl;
	cout << "c = " << c << endl << endl;
}
F2(1, 2, 3);
F2(1, 2);
F2(1);

代码结果为

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值