相关软件
vs
vs下载安装教程:https://www.bilibili.com/video/BV17p4y1h7yR/
gitee的使用
gitee注册即代码提交:https://www.bilibili.com/video/BV1hf4y1W7yT/?vd_source=8314281efd62f5ff0148833f1d618ea3
git中的用户名Name:zhang-yue-hui
git中的邮箱Email:gitee个人设置中的邮箱
1、在gitee中创建远程仓库
新建仓库
仓库链接:https://gitee.com/zhang-yue-hui/2024_c.git
2、克隆远程仓库到本地电脑
git clone
这就把远程仓库的2024_c克隆下来了
3、将代码从本地推送到远程仓库
(1)Add
(2)commit
(3)push
命名空间 namespace
C++主要的三部分:c、面向对象、泛型、c的不足的弥补
为什么要在c上加上命名空间
因为c中常有命名冲突这个问题
例如:
但如果引入lib这个库,那么就会发生命名冲突,rand这个全局变量回和库里的函数命名冲突
命名冲突的情况:
(1)我们写的与库中冲突
(2)我们互相之间冲突
命名空间的用法
1、定义变量
::域作用限定符
zyh命名空间中的rand也是全局变量
2、定义函数
3、定义结构体(也就是类)
5、定义命名空间(命名空间可以嵌套)
6、命名空间的指定展开
对于一些常用的,例如:cout、endl,每次用都得前面加上std::很麻烦,但直接展开std又比较危险
using namespace std::cout;
using namespace std::endl;
## Stack实例
>同一个项目中,多个文件的同一个命名空间会被合并
```cpp
stack.h
#pragma once
#include <stdio.h>
namespace zyh
{
typedef struct Stack
{
int* a;
int top;
int capacity;
}SK;
void StackInit(SK* ps);
void StackPush(SK* ps, int x);
}
stack.cpp
#include "stack.h"
namespace zyh
{
void StackInit(SK* ps)
{
ps->a = NULL;
ps->top = 0;
ps->capacity = 0;
}
void StackPush(SK* ps, int x)
{
//...
}
}
stack_test.cpp
#include "stack.h"
int main()
{
zyh::SK ps;
zyh::StackInit(&ps)