码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 初识c++


    这里写目录标题

    • 什么是c++
    • 命名空间域(namespace)
    • 怎么调用命名中间域中的东西呢?
    • <<是什么 / >>是什么 / cout 是什么 / cin是什么?
    • using是干嘛的?

    什么是c++

    C++:是C延伸出来的一种编程语言,其中包含了C语言的大部分语法,还有面向对象,还有泛型,还弥补了C中一些不足之处。

    命名空间域(namespace)

    C++中可以用namespace 来解决命名冲突(命名冲突在C语言中难以解决)

    在namespace中 可以定义变量、 函数、结构体等等

    //namespace 命名空间域 (解决命名冲突)
    using namespace std;
    
    namespace dabai
    {
    	int rand = 0;//全局变量
    	namespace add //命名空间可以嵌套
    	{
    		int rand = 2;
    	}
    	int ADD(int x, int y)
    	{
    		return x + y;
    	}
    	struct MyStruct
    	{
    
    	};
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    怎么调用命名中间域中的东西呢?

    在C++中我们可以用 :: 来调用namespace 里面的东西

    int main()
    {
    	// :: 域作用限定符 调用域里面的东西
    	printf("%d\n", dabai::rand);
    	printf("%d\n", dabai::add::rand);
    	cout << "hello word" << endl;
    	dabai::ADD(1, 2);
    	struct dabai::MyStruct node;// 域中结构体的调用
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    <<是什么 / >>是什么 / cout 是什么 / cin是什么?

    cout: 对象,并且可以自动识别出对象类型,可以打印出信息

    <<: 流插入

    流插入:流到到对象中

    >>: 流提取,也能自动识别类型

    >>经常和cin一起用

    cin: 输入,相当于 c里面的scanf

    int main()
    {	
    	//cout 对象,自动识别输出对象的类型
    	//<< 流插入	流向
    	cout << "hello world\n";
    	std::cout << "hello world\n";
    	int a = 10;
    	double b = 13.14;
    	// >>流提取 自动识别类型
    	//cin 输入
    	cin >> a >> b;
    	cout << a << endl;// endl == \n;
    	cout << b << endl;
    	cout << a <<"\t" << b << endl;
    	
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    using是干嘛的?

    using 展开这个空间

    默认 展开ADD这个空间
    using namespace ADD;
    
    //std 是c++官方库定义的 命名空间 
    using namespace std;
     工程项目中不要展开 std,容易冲突
    
    
    int main()
    {
    	ST s;
    	StackInit(&s);	
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    但是因为展开空间是危险的所有 指定展开就可以解决问题

    /每次指定命名空间很麻烦
    //直接展开空间很危险
    //指定展开就可以解决问题
    using std::cout;
    using std::endl;
    using std::cin;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    数据分析:扩增子分析(qiime2平台全流程分析)
    基于 Kubernetes 的 DevOps
    技术分享 | SpringBoot 流式输出时,正常输出后为何突然报错?
    基于微信小程序的智能垃圾分类回收系统,附源码、教程
    存档-链表设计JS/TS版
    大一新生HTML期末作业,网页制作作业——海鲜餐饮网站登录页面(单页面)HTML+CSS+JavaScript
    如何通过执行SQL为低代码项目提速?
    模型风险管理简述
    第一章 概述 | 计算机网络(谢希仁 第八版)
    【视觉算法系列1】使用 KerasCV YOLOv8 进行红绿灯检测(下)
  • 原文地址:https://blog.csdn.net/dabai__a/article/details/134228771
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号