首页 > 编程语言 >C++入门(一)

C++入门(一)

时间:2024-03-30 18:29:41浏览次数:24  
标签:入门 int namespace 缺省 C++ 空间 命名 include

目录

命名空间:

为什么要提出命名空间?

命名空间的定义:

命名空间的使用:

加命名空间名称及作用域限定符:

使用using将命名空间中某个成员引入:

使用using namespace命名空间名称引用:

C++输入&输出:

库的导入:

使用说明:

输入和输出:

输入流:

输出流:

缺省参数:

缺省参数的概念:

缺省参数的分类:

全缺省参数:

半缺省参数:

命名空间:

为什么要提出命名空间?

#include <stdio.h>
#include <stdlib.h>
    int rand = 0;
int main()
{
	printf("%d\n", rand);
	return 0;
}

输出结果:

由于cpp中包含的stdlib库中有rand变量,这个变量的名称存在于全局作用域当中,可能会与cpp文件中定义的变量发生冲突,所以需要一种方式区分这两个变量,这时就需要命名空间规划命名空间域,对标识符名称进行本地化,以免命名冲突,从而解决这个问题。

命名空间的定义:

namespace code
{
	int rand = 0;
}

定义命名空间需要使用namespace关键字,后面跟着·命名空间的名字,然后一对{}将想要命名的成员包起来

//命名空间内部还可以包含函数和结构体
namespace code
{
	int rand = 0;

	int Add(int x, int y)
	{
		return x + y;
	}

	struct Node
	{
		struct Node* next;
		int val;
	};
}

//命名空间还可以嵌套设计
namespace code1
{
    int rand1 = 0;
namespace code 2
{
    int rand2 = 0;
}
}

命名空间的使用:

加命名空间名称及作用域限定符:

#include <stdio.h>
#include <stdlib.h>
namespace code
{
	int rand1 = 0;
	int rand2 = 0;
}

int main()
{
	printf("%d\n", code::rand1);
	return 0;
}

使用using将命名空间中某个成员引入:

#include <stdio.h>
#include <stdlib.h>
namespace code
{
	int rand1 = 0;
	int rand2 = 0;

}
using code::rand1;
int main()
{
	printf("%d\n", rand1);
	return 0;
}

使用using namespace命名空间名称引用:

#include <stdio.h>
#include <stdlib.h>
namespace code
{
	int rand1 = 0;
	int rand2 = 0;

}
using namespace code;
int main()
{
	printf("%d\n", rand1);
	return 0;
}

C++输入&输出:

库的导入:

#include <iostream>
using namespace std;

iostream是cpp内部的库,std是cpp标准库的命名空间名,cpp将标准库的定义和实现都放到了这个命名空间中,这里需要使用std命名空间内部包含的变量和关键字,所以需要将std命名空间展开

使用说明:

这里的输入和输出要使用iostream头文件包含的std命名空间内的关键字:

cout和endl控制输入操作,其中cout是全全局对象流,endl是特殊的cpp符号,表示换行输出;cout与<<配合使用,向控制台输出对象,功能类似于C语言中的printf

cin是全局流对象,搭配>>配合使用,由键盘输入到控制流当中,功能类似于C语言中的scanf

输入和输出:

输入流:

#include <iostream>
using namespace std;

int  main()
{
	cout << "hello world" << endl;
	return 0;
}

输出结果:

输出流:

#include <iostream>
using namespace std;

int  main()
{
	int a = 0;
	cin >> a;
	cout << a << endl;
	return 0;
}

输出结果:


缺省参数:

缺省参数的概念:

缺省参数是声明或定义函数时为函数指定一个缺省值,在调用该函数时,如果没有指定实参则·采取该形参的缺省值,否则使用指定的实参

#include <iostream>
using namespace std;
void Node(int a = 0)
{
	cout << a << endl;
}

int  main()
{
	Node();
	Node(10);
}

缺省参数的分类:

全缺省参数:

void Node(int a = 1,int b = 2,int c = 3)
{
	cout << a << endl;
	cout << b << endl;
	cout << c << endl;
}

半缺省参数:

void Node(int a ,int b = 2,int c = 3)
{
	cout << a << endl;
	cout << b << endl;
	cout << c << endl;
}

标签:入门,int,namespace,缺省,C++,空间,命名,include
From: https://blog.csdn.net/2301_80239034/article/details/137070725

相关文章

  • 中间件 ZK分布式专题与Dubbo微服务入门 6-3 同步异步创建zk节点
    0课程地址https://coding.imooc.com/lesson/201.html#mid=12719 1重点关注1.1本节内容javaapi客户端新增临时节点和永久节点 1.2javaapi新增节点同步调用/***同步或者异步创建节点,都不支持子节点的递归......
  • Rust简易入门(二)
    Rust内存管理模型"Stoptheworld'"是与垃圾回收(GarbageCollection)相关的术语,它指的是在进行垃圾回收时系统暂停程序的运行。这个术语主要用于描述一种全局性的暂停,即所有应用线程都被停止,以便垃圾回收器能够安全地进行工作。这种全局性的停止会导致一些潜在的问题,特别是对于......
  • Rust简易入门(三)
    Rust的流程控制主要包括条件语句(if、else、elseif)、循环语句(for、while)和跳转语句(break、continue、return)。这些语句使程序员能够根据特定的条件或循环执行代码块,从而实现各种复杂的逻辑控制。例如,if语句允许程序员根据条件执行代码,而for和while循环则用于重复执行代码块,直到满......
  • 第1章 迈向现代C++
    芝士wa2024.3.30资源链接1.1被启用的特性不再允许字符串字面值常量赋值给一个char*。如果需要用字符串字面值常量赋值和初始化一个char*,应该使用constchar*或者autochar*str="helloworld!";//将出现弃用警告C++98异常说明、unexpected_handler,set_unexpec......
  • 数学入门——均值不等式 学习笔记
    数学入门——均值不等式学习笔记简化形式若\(a,b>0\),则:\[\dfrac{2}{\dfrac{1}{a}+\dfrac{1}{b}}\le\sqrt[2]{ab}\le\dfrac{a+b}{2}\le\sqrt[2]{\dfrac{a^2+b^2}{2}}\]理解方式:https://www.bilibili.com/video/BV1Nf4y1G7xV基本形式若\(a,b>0\),则:\[\dfrac{n}{\dfrac{......
  • 天体力学——天体运动入门 学习笔记
    天体力学——天体运动入门学习笔记一、开普勒三大定律开普勒第一定律(椭圆定律、轨道定律)行星绕太阳的轨迹是椭圆轨道,太阳在椭圆的一个焦点上。开普勒第二定律(等面积定律)在相等时间内,行星与太阳的连线扫过的面积相等。结论:近日点速度较大,远日点速度较小。开普勒第三定律(周......
  • C++U6-10 - 表达式与表达式求值
    学习目标 算数表达式 三种算数表达式 中缀转后缀  计算机的转换逻辑 中缀转后缀 【算法分析】从左到右进行遍历。1.遇到的是运算数,直接输出。2.遇到的是左括号'(',直接压入堆栈(括号是最高优先级,无需比较;入栈后优先级降到最低,确保其他符号正常入栈)。......
  • Rust简易入门(一)
    Rust!Rust!Rust!变量与不可变性在Rust中,变量使用let关键字进行声明Rust支持类型推导,也可以显示指定变量类型变量名采用蛇形命名法,枚举结构体采用帕斯卡命名法,没有使用的变量采用前置下划线_以消除警告强制类型转换关键词as打印变量println!("val:{}",x);print......
  • Vue+OpenLayers7入门到实战:OpenLayers涂鸦手绘线条、圆形和多边形,涂鸦线条自动收尾连
    返回《Vue+OpenLayers7》专栏目录:Vue+OpenLayers7入门到实战前言本章介绍如何使用OpenLayers7在地图上进行绘制图形的功能,上一章中《Vue+OpenLayers7入门到实战:OpenLayers图形绘制功能,OpenLayers实现在地图上绘制线段、圆形和多边形》我们已经讲过多种图形的绘制,本章主要......
  • C++学习建议
    C++是一门强大且广泛应用的编程语言,特别适合系统级开发、高性能应用和游戏引擎等场景。如果你准备深入学习C++,以下是一些关键点和学习路径建议:1.**基础语法**:首先掌握C++的基础语法,如变量声明与赋值、数据类型、运算符、流程控制语句(if-else、switch、for、while、do-while)、......