C++ 全栈知识体系C++ 全栈知识体系
✿导航
  • 基础
  • 函数
  • 知识点
  • IO框架
  • 新版本特性
  • 数据库原理
  • SQL语言
  • SQL - MySQL
  • NoSQL - Redis
  • NoSQL - ElasticSearch
  • 算法基础
  • 常见算法
  • 领域算法
  • 分布式算法
  • 数据结构与算法
  • 计算机网络
  • 操作系统
  • 计算机组成
  • 开发
  • 测试
  • 架构基础
  • 分布式系统
  • 微服务
  • 中间件
  • 概念
  • 理论
  • 架构设计原则
  • 设计模式
  • 协议
  • 技术选型
  • 编码规范
  • 流水线构建 - CI/CD
  • 知识点 - Linux
  • 网站 - Nginx
  • 容器化 - Docker
  • 容器编排 - Kubernetes
  • 服务网格 - Service Mesh Istio
  • 常用快捷键 - Shortcut
  • 工具使用 - Tools
  • 开源项目
  • 学习项目
  • 个人项目
  • 项目开发
  • 项目Idea
  • 并发
  • 部署
  • 分布式
  • 知识
  • 问题
  • 编程语言与技术
  • 系统与架构
  • 软件开发实践
  • 数据处理与应用设计
  • 个人
  • 产品
  • 团队
  • 知识体系
  • Vue
  • 技术文档
  • 前沿资讯
  • 常用软件
  • 在线工具
关于
✿导航
  • 基础
  • 函数
  • 知识点
  • IO框架
  • 新版本特性
  • 数据库原理
  • SQL语言
  • SQL - MySQL
  • NoSQL - Redis
  • NoSQL - ElasticSearch
  • 算法基础
  • 常见算法
  • 领域算法
  • 分布式算法
  • 数据结构与算法
  • 计算机网络
  • 操作系统
  • 计算机组成
  • 开发
  • 测试
  • 架构基础
  • 分布式系统
  • 微服务
  • 中间件
  • 概念
  • 理论
  • 架构设计原则
  • 设计模式
  • 协议
  • 技术选型
  • 编码规范
  • 流水线构建 - CI/CD
  • 知识点 - Linux
  • 网站 - Nginx
  • 容器化 - Docker
  • 容器编排 - Kubernetes
  • 服务网格 - Service Mesh Istio
  • 常用快捷键 - Shortcut
  • 工具使用 - Tools
  • 开源项目
  • 学习项目
  • 个人项目
  • 项目开发
  • 项目Idea
  • 并发
  • 部署
  • 分布式
  • 知识
  • 问题
  • 编程语言与技术
  • 系统与架构
  • 软件开发实践
  • 数据处理与应用设计
  • 个人
  • 产品
  • 团队
  • 知识体系
  • Vue
  • 技术文档
  • 前沿资讯
  • 常用软件
  • 在线工具
关于
  • 关于

    • 关于 - Still_Believe
    • 关于 - 内容更新清单
    • 关于 - 文档的排版模板
    • 关于 - 网站问题修正

关于 - 文档的排版模板

    参考资料

    • Markdown 拓展

    GitHub 风格的表格

    TablesAreCool
    col 3 isright-aligned$1600
    col 2 iscentered$12
    zebra stripesare neat$1

    Emoji

    🎉 💯 😉

    字体颜色

    红色字体

    目录

    [[toc]]
    

    自定义容器

    提示

    这是一个提示

    注意

    这是一个警告

    警告

    这是一个危险警告

    详情

    这是一个详情块,在 IE / Edge 中不生效

    详情

    <<< @/md/c++/function/src/scopeFun/main.cpp

    现在新版本修改为

    详情
    // 类
    class A
    {
    public:
        A() : a(0) { };             // 构造函数
        A(int x) : a(x) { };        // 初始化列表
    
        // const可用于对重载函数的区分
        int getValue();             // 普通成员函数
        int getValue() const;       // 常成员函数,不得修改类中的任何数据成员的值
        const int& fun() const;     // 第一个const代表该函数的返回值无法被改变。第二个const代表该函数不会对调用者内部成员进行更改。
    private:
        const int a;                // 常对象成员,只能在初始化列表赋值
    };
    
    void fun()
    {
        // 对象
        A b;                        // 普通对象,可以调用全部成员函数、更新常成员变量
        const A a;                  // 常对象,只能调用常成员函数
        const A *p = &a;            // 常指针
        const A &q = a;             // 常引用
    
        // 指针
        char greeting[] = "Hello";
        char* p1 = greeting;                // 指针变量,指向字符数组变量
        const char* p2 = greeting;          // 指针变量,指向字符数组常量
        char* const p3 = greeting;          // 常指针,指向字符数组变量
        const char* const p4 = greeting;    // 常指针,指向字符数组常量
    }
    
    // 函数
    void fun1(const int Var);           // 传递过来的参数在函数内不可变
    void fun2(const char* Var);         // 参数指针所指内容为常量
    void fun3(char* const Var);         // 参数指针为常指针
    void fun4(const int& Var);          // 引用参数在函数内为常量
    
    // 函数返回值
    const int fun5();      // 返回一个常数
    const int* fun6();     // 返回一个指向常量的指针变量,使用:const int *p = fun6();
    int* const fun7();     // 返回一个指向变量的常指针,使用:int* const p = fun7();
    
    //const修饰函数时的重载
    
    //实际上没有区别,因为函数调用的时候,存在形实结合的过程,所以不管有没有const都不会改变实参的值。所以不能通过编译,提示重定义。
    void fun(const int i);
    void fun(int i);
    
    //char *a 中a指向的是一个字符串变量,而const char *a指向的是一个字符串常量,所以当参数为字符串常量时,调用第二个函数,而当函数是字符串变量时,调用第一个函数。
    void fun(char *a);    
    void fun(const char *a);
    
    //这两个都是指向字符串变量,不同的是char *a是指针变量 而char *const a是指针常量。所以不能通过编译,提示重定义。
    void fun(char *a);  
    void fun(char * const a);  
    
    //原因是第一个i引用的是一个变量,而第二个i引用的是一个常量,两者是不一样的,类似于上面的指向变量的指针的指向常量的指针。
    void fun(int &i);  
    void fun(const int &i);   
    
    
    

    代码块中的行高亮

    export default {
      data () {
        return {
          msg: 'Highlighted!'
        }
      }
    }
    

    代码选项卡

    JavaScript
    const name = 'VuePress'
    console.log(`你好,${name}!`)
    
    TypeScript
    const name: string = 'VuePress'
    
    console.log(`你好,${name}!`)
    

    导入代码段

    <<< @/md/c++/features/c11/src/decltype.cpp
    

    目录结构

    .
    ├── docs
    │   ├── .vuepress (可选的)
    │   │   ├── components (可选的)
    │   │   ├── theme (可选的)
    │   │   │   └── Layout.vue
    │   │   ├── public (可选的)
    │   │   ├── styles (可选的)
    │   │   │   ├── index.styl
    │   │   │   └── palette.styl
    │   │   ├── templates (可选的, 谨慎配置)
    │   │   │   ├── dev.html
    │   │   │   └── ssr.html
    │   │   ├── config.js (可选的)
    │   │   └── enhanceApp.js (可选的)
    │   │ 
    │   ├── README.md
    │   ├── guide
    │   │   └── README.md
    │   └── config.md
    │ 
    └── package.json
    
    docs/.vuepress: 用于存放全局的配置、组件、静态资源等。
    docs/.vuepress/components: 该目录中的 Vue 组件将会被自动注册为全局组件。
    docs/.vuepress/theme: 用于存放本地主题。
    docs/.vuepress/styles: 用于存放样式相关的文件。
    docs/.vuepress/styles/index.styl: 将会被自动应用的全局样式文件,会生成在最终的 CSS 文件结尾,具有比默认样式更高的优先级。
    docs/.vuepress/styles/palette.styl: 用于重写默认颜色常量,或者设置新的 stylus 颜色常量。
    docs/.vuepress/public: 静态资源目录。
    docs/.vuepress/templates: 存储 HTML 模板文件。
    docs/.vuepress/templates/dev.html: 用于开发环境的 HTML 模板文件。
    docs/.vuepress/templates/ssr.html: 构建时基于 Vue SSR 的 HTML 模板文件。
    docs/.vuepress/config.js: 配置文件的入口文件,也可以是 YML 或 toml。
    docs/.vuepress/enhanceApp.js: 客户端应用的增强。
    

    collapsable: true 设置折叠属性

    Last Updated:
    Contributors: klc407073648
    Prev
    关于 - 内容更新清单
    Next
    关于 - 网站问题修正