C到C++

前言:大年初一一动不动,初二按兵不动,初三纹丝不动,初四巍然不动,初五依然不动,初六原地不动,初七继续不动,及时能动?钟南山说动才能动,不动不代表在家嗑瓜子,数腿毛,我们要用学习来丰富自己。 01

头文件

C风格
#include<stdio.h>
#include<math.h>
C++风格
#include<iostream>
#include<cstdio>        //C++风格 
#include<cmath>         //math.h cmath

02

输入输出

#include<stdio.h>
#include<iostream>
using namespace std;    //命名空间 名字空间两种叫法
int main()
{
    //输出
    printf("hello world\n");
    cout << "hello world" << endl;  //endl endline换行
    //输入
    int num;
    scanf("%d", &num);
    cin >> num;
    system("pause");
    return 0;
}
说明
  • 不能直接使用cout,cin,像C一样,需要加上头文件,此外还要加上命名空间
#include<iostream>
//命名空间的使用
//方式一:
using namespace std;    
//方式二
using std::cout;
using std::cin;
using std::endl;
//方式三
//输出
std::cout << "hello world" << std::endl;    //endl endline换行
  • 注意cout<<,cin>>里面的流操作符的方向
  • endl是\n的意思,endline换行

03

命名空间

作用

作用:划分逻辑区域,解决名字冲突

创建

namespace 名字空间{}

//1.创建名字空间
namespace DeRoy
{
    void fun()
    {
        cout << "我是DeRoy的fun函数" << endl;
    }
}
使用
::作用域限定符
#include<iostream>
using namespace std;    //命名空间 名字空间
int main()
{
    std::cout << "hello world" << std::endl;
    return 0;
}
名字空间声明

using 名字空间::成员

#include<iostream>
using std::cout;
using std::cin;
using std::endl;
namespace DeRoy
{
    void fun()
    {
        cout << "我是DeRoy的fun函数" << endl;
    }
}
using DeRoy::fun;//DeRoy空间里面的fun函数全局可见
int main()
{
    cout << "hello world" << endl;
    fun();    //调用fun函数
    return 0;
}
名字空间指令

using namespace 名字空间

#include<iostream>
using namespace std;    //命名空间 名字空间
namespace DeRoy
{
    void fun()
    {
        cout << "我是DeRoy的fun函数" << endl;
    }
}
using namespace DeRoy;
int main()
{
    std::cout << "hello world" << std::endl;
    fun();
    return 0;
}
命名空间合并
#include<iostream>
using namespace std;    //命名空间 名字空间
namespace DeRoy
{
    void fun()
    {
        cout << "我是DeRoy的fun函数" << endl;
    }
}
namespace DeRoy        //命名空间合并     同名空间合并
{
    void test()
    {
        cout << "我是DeRoy的test函数" << endl;
    }
}
int main()
{
    DeRoy::fun();
    DeRoy::test();
    return 0;
}
声明和定义分开
#include<iostream>
using namespace std;    //命名空间 名字空间
namespace DeRoy        //命名空间合并     同名空间合并
{
    void test();
}
void DeRoy::test()    //命名空间成员函数 声明和定义分开
{
    cout << "我是DeRoy的out函数" << endl;
}
int main()
{
    DeRoy::test();
    return 0;
}
命名空间嵌套
//命名空间嵌套
namespace ShanXi
{
    namespace XiAn
    {
        namespace ChangAn
        {
            void SchoolName()
            {
                cout << "西北工业大学" << endl;
            }
        }
    }
}
命名空间别名
namespace Changan = ShanXi::XiAn::ChangAn;

思维导图:

来源:XMind

本文分享自微信公众号 - 编程学习基地(LearnBase),作者:DeRoy

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-01-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 静态成员

    DeROy
  • 预处理

    这些宏定义不仅可以帮助我们完成跨平台的源码编写,灵活使用也可以巧妙地帮我们输出非常有用的调试信息

    DeROy
  • 构造析构

    这样你会发现隐藏的4个字节存储了你申请的对象数量,当delete加[]时,会先访问这4个字节的数据,然后再释放内存

    DeROy
  • 探索JAVA并发 - 如何优雅地取消线程任务

    一种常用的方法是在任务代码中加入一个“是否取消”的标志,任务定期去查看这个标志是否改变,如果被改变了就取消剩下的任务,此时如果想取消这个任务只需要修改它的标志,...

    acupt
  • iOS-创建自己的日志系统

    今天我们借用CocoaLumberjack 来自定义自己的日志系统, 最终实现的效果为:

    周希
  • css绘制常见的几何图形

      前言:终于我的大一生活结束了,迎来了愉快的暑假,大家都开始了各自的忙碌。一直忙着一些项目的事情,终于决定今天要更新一篇博客了,对上一阶段的学习做简单的总结。...

    okaychen
  • React Native与Android 原生通信

    我们用React Native 做混合开发的时候免不了要原生和React Native 进行通信交互,这篇文章就是分享原生模块与JS传递数据的几种方式。

    HelloJack
  • orgman set触发的pricing set创建逻辑

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。

    Jerry Wang
  • ​清华&中国工程院联合发布:人工智能全球2000位最具影响力学者

    今天上午,清华和中国工程院知识智能联合研究中心在清华大学联合发布《人工智能全球2000位最具影响力学者》,通过AMiner学术数据在全球范围内遴选出了2000位...

    大数据文摘
  • 如何避免你的时间被科技巨头们瓜分?

    ©原创2015-03-02罗超 你的生活正在被BAT们包养,信息、购物、社交、通信、娱乐,还有女人……从出生到坟墓,科技已通过互联网渗透到每一处。不过我要说的是...

    罗超频道

扫码关注云+社区

领取腾讯云代金券