C++笔记:学习使用C++

一.命名空间

namespace 名字

作用:一种用来隔离命名冲突的机制,是C++的一项特性

例如:

cpp 复制代码
#include<iostream>

namespace A {
    void func_1() {
        printf("hello world A\n");
        return ;
    }
}

namespace B {
    void func_1() {
        printf("hello world B\n");
        return ;
    }
}


int main() {
    //在A B 空间中都有一个函数func_1
    //为了避免发生命名冲突,那么就需要隔离命名空间来定义
    //在分别调用函数时,需要在函数名前加上命名空间
    A::func_1();
    B::func_1();
    return 0;
}

using namespace 命名空间名:

using namespace 命名空间名是 C++ 中的一种语句。

例如using namespace std,用于指定当前代码中使用的命名空间为标准命名空间std,这样就可以直接使用std命名空间中的标识符而不需要在前面添加std::前缀。

代码实现:

cpp 复制代码
#include<iostream>
//使用命名空间std
using namespace std;

int main() {
    //cin 和 cout 还有 endl都是std空间里的对象
    //现在不用管cin它们是什么,知道他是std空间里面的就行
    int n;
    cin >> n;
    cout << n << endl;
    //如果没有using namespace std语句
    //就需要写成下面的形式
    std::cin >> n;
    std::cout << n << std::endl;
    return 0;
}

二.输入与输出

输出:cout对象

现在去理解cout就是用来输出的,然后对于<<的理解就是,将内容给cout,cout将内容输出到输出流中,endl就相当于C语言中的"\n"也就是换行,现在就可以把endl看成"\n",然后需要换行时就直接输出endl换行。

输入:cin对象

现在理解cin就是用来读取数据的,对于>>的理解就是,cin在标准流读取到数据后将数据"打入"给>>后的变量。

代码使用:

cpp 复制代码
#include<iostream>
using namespace std;

int main() {
    int n;
    //使用cin时,也不用对变量进行取地址了
    //也不用使用格式占位符
    cin >> n;
    //在这里使用cout
    //就不像使用printf还需要使用格式占位符了
    cout << "hello world " << "n = " << n << endl;
    return 0;
}

格式化输出:

cpp 复制代码
#include <iostream>
#include <iomanip>
using namespace std;

int main() {
    //输出整形
    int num = 123;
    cout << "num = " << num << endl;

    //输出双精度浮点型
    double f = 3.1415926;
    //setprecision(2) 是将输出保留小数点后两位
    cout << "f = " << f << setprecision(2) << endl;

    //输出布尔类型
    bool isTrue = true;
    //这里使用boolalpha是将输出结果转为字符串类型
    //如果没有boolalpha 那么将会输出 Value : 1
    cout << "Value :" << boolalpha << isTrue << endl;

    //输出字符串
    string str = "hello world";//现在理解str就是像char类型的字符数组
    cout << str << endl;

    //输出科学计数法
    //scientific 表示输出内容用科学计数法输出
    double val = 1.2345678;
    cout << "Scientific notation : " << scientific << val << endl;

    //输出指针地址
    int *p = &num;
    cout << "&num = " << p << endl;

    int n = 96;
    //十六进制
    cout << hex << "hex : " << n << endl;
    //八进制
    cout << oct << "oct : " << n << endl;
    //十进制
    cout << dec << "dec : " << n << endl;
    
    //自定义输出
    int width = 10;
    char c = '*';
    //setw用于设置字段宽度,即输出的字符数。
    //它接受一个整数参数,指定输出的最小宽度。
    //如果输出的内容不够宽,将用空格填充以达到指定的宽度
    cout << setw(width) << n << endl;
    //setfill用于设置填充字符,即在宽度未达到指定值时用于填充的字符。
    //它接受一个字符参数,指定用于填充的字符。
    //例如下面用字符c进行填充,如果没有setfill那么就默认是空格填充
    cout << setw(width) << setfill(c) << n << endl;
    return 0;
}

执行结果:

相关推荐
Java内核笔记9 分钟前
告别十亿美元的错误 : Spring Boot 4 空安全 (JSpecify) 实战
java·spring boot·后端
蓝悦无人机13 分钟前
C++基础 — 函数总结
开发语言·c++
糖果店的幽灵18 分钟前
langgraph的 MessagesState 解读
java·开发语言·人工智能·windows·langgraph
谙弆悕博士39 分钟前
系统集成项目管理工程师教程(第3版)笔记——第4章:信息系统架构
笔记·系统架构·项目管理·创业创新·学习方法·业界资讯·物理
极光代码工作室2 小时前
基于SpringBoot的在线博客系统
java·springboot·web开发·后端开发
我不是懒洋洋2 小时前
从零实现一个分布式监控:Prometheus的核心设计
c++
我是唐青枫2 小时前
Java Spring Security 实战详解:从登录认证到 JWT 权限控制
java·spring
An_s2 小时前
c++对接pdfium(一)win系统篇
开发语言·c++
众少成多积小致巨2 小时前
C++ 规范参考(上)
c++
茯苓gao2 小时前
嵌入式开发笔记:Qt信号槽机制深度解析——从原理到实战的全方位指南
开发语言·笔记·嵌入式硬件·qt·学习