首页 > 编程语言 >c++[1]

c++[1]

时间:2023-08-18 23:32:57浏览次数:32  
标签:定义 int 缺省 c++ 引用 命名 函数

命名空间:

为什么要使用命名空间?

使用命名空间的目的是对标识符的名称进行本地化, 避免命名冲突或名字污染,于是就有了关键字namespace

举个例子:

#include <iostream>
#include <stdlib.h>//头文件中包含rand函数的定义

int rand = 10;//命名冲突
int main()
{

	printf("%d ", rand);
	return 0;
}

c++[1]_缺省参数


如何定义使用命名空间?

定义:定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{} 中即为命名空间的成员。

命名空间中可以定义变量、函数、类等。

//命名空间的定义
//1.
namespace red
{
	int i = 0;
	int add(int num1, int num2)
	{
		return num1 + num2;
	}
	struct node
	{
		char name;
		int age;
	};
}
//2.命名空间可嵌套定义
namespace r1
{
	int num = 0;
	namespace r2
	{
		void print()
		{
			printf("嵌套\n");
		}
	}
}//r1、r2嵌套
//3. 同一个工程中允许存在多个相同名称的命名空间,
//编译器最后会合成同一个命名空间中。

命名空间的使用:

c++[1]_命名空间_02

C++的输入和输出:

使用:

cin与>>配套使用,cin标准输入流,cout标准输出流

cout与<<配套使用

using namespace std;
//std是C++的标准命名空间
int main()
{
	int n;
	cin >> n;
	cout << "n的值为:" << n << endl;//endl换行与\n一样
	cout << n << '\n';
	return 0;
}

缺省参数

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

缺省函数有全缺省和半缺省

//全缺省
int add1(int a=1,int b=1)
{
  return a+b;
}
//半缺省
int add2(int a,int b=1,int c=0)
{
  return a+b+c;
}

注意:

  1. 半缺省参数必须从右往左依次来给出,不能间隔着给
int num=add2(1,,3);//error
  1. 缺省参数不能在函数声明和定义中同时出现,缺省值在函数声明时说明
  2. 缺省值必须是常量或者全局变量

函数重载

概念:函数名相同,形参列表不同(参数的类型、个数、顺序不同 )

注意:函数的返回值不在重载检查的范围内

引用

引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。

引用的声明:

int a=0;
int &ra=a;

注意:

1.引用变量在使用时不必在加&,其使用与普通变量相同

2.引用类型要与要引用实体的类型相同

3.引用定义时必须要进行初始化,且之后不能更改为其他实体的引用

4.一个变量可以有多个引用

标签:定义,int,缺省,c++,引用,命名,函数
From: https://blog.51cto.com/u_15805257/7142846

相关文章

  • C++中String的语法及常用接口用法
    在C语言中,string是一个标准库类(class),用于处理字符串,它提供了一种更高级、更便捷的字符串操作方式,string 类提供了一系列成员函数和重载运算符,以便于对字符串进行操作和处理。一、string类在学习string前,我们不妨先来了解一下string类到底是什么,有什么用呢?我们先来了解一下基本......
  • C++项目实战之演讲比赛流程管理系统
    演讲比赛流程管理系统1.演讲比赛程序需求1.1比赛规则学校举行一场演讲比赛,共有12个人参加。比赛共两轮,第一轮为淘汰赛,第二轮为决赛每名选手都有对应的编号,如10001~10012比赛方式:分组比赛,每组6个人第一轮分为两个小组,整体按照选手编号进行抽签后顺序演讲10个......
  • 关于 STM32 在使用 C++ 进行编程时无法进行中断(触发中断就死循环)的问题
    他妈的!!!就因为这破事导致我浪费了两天的时间!!!都是基础不扎实的锅,导致我没能第一时间想到问题的关键好了,平复一下心情,快速的写一篇博客来记录这个叼问题解决方法先把结论放在这里:用extern"C"{}把中断函数包起来//就像这样extern"C"{voidEXTI4_IRQHandler(){HAL_GP......
  • C++11新特性——1.4-1.5 final和override
    1.4final原文:https://subingwen.cn/cpp/final/总结:1.final限制某个类不能被继承,或限制某个虚函数不能被重写2.final修饰虚函数或者类3.final关键字写到虚函数或类后面classBase{public:virtualvoidtest(){cout<<"Baseclass.........
  • c++ 常用的 STL
    c++中常用的STLvector//vector变长数组倍增的思想(倍增:系统为每一个程序分配空间的时候,所需要的时间和空间大小无关,与请求次数相关)尽量减少请求的次数/*返回元素的个数size()判断是否为空empty()清空clear()front()返回第一个数back()返回最后一个数push......
  • [AT_ABC106_C]题解(C++)
    PartIPreface原题目\(\text{(Luogu)}\)原题目\(\text{(AtCoder)}\)PartIISketch给定一个字符串\(s\)以及一个整数\(k\)。该字符串为纯数字串。其中的数字\(x\)会在\(k\)天后变为\(x^{k-1}\)个\(x\)。求出\(10^{15}\)天后,串\(s\)的第\(k\)位是什么......
  • [AT_ABC106_D]题解(C++)
    PartIPreface原题目\(\text{(Luogu)}\)原题目\(\text{(AtCoder)}\)PartIISketch给定正整数\(n,m,q\)。接下来给定\(m\)组\(x_i,y_i\),表示一列列车的起始站和终点站。在接下来给定\(q\)组\(l_i,r_i\)。对于每组询问,回答有多少\(x_i\geql_i\operatorna......
  • [AT_ABC106_B]题解(C++)
    PartIPreface原题目\(\text{(Luogu)}\)原题目\(\text{(AtCoder)}\)PartIISketch给定一个正整数\(N\)。求出\(1\simN\)所有因数个数为\(8\)的数的个数。PartIIIAnalysis先输入\(N\)。遍历\(1\simN\)的每个数,记录每个数的因数个数。若因数个数等于\(8\)......
  • [AT_ABC106_A]题解(C++)
    PartIPreface原题目$\text{(Luogu)}$原题目$\text{(AtCoder)}$PartIISketch给定整数$a,b$,输出$(a-1)\times(b-1)$。$2\leqa,b\leq100$。PartIIIAnalysis运用小学知识,进行平移,把几块地拼接在一起。不难看出长为$a-1$,宽为$b-1$,面积为$(a-1)\tim......
  • c++ 占位符和序列化
    1#include<nlohmann/json.hpp>2#include<iostream>3#include<iomanip>45usingjson=nlohmann::json;67intmain()8{9std::cout<<std::setw(4)<<json::meta()<<std::endl;10}https://json.n......