码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C++之10|50例学懂C++


    C++学习

    • 十、总结-50例学懂C++
      • 1、简介
      • 2、工具
      • 3、基本语法
      • 4、关键字
        • (1) asm
        • (2)new/delete
        • (3)this
        • (4)operator
        • (5)throw/try/catch
        • (6)explicit
        • (7)private/public/class/protected
        • (8)reinterpret_cast/const_cast/static_cast/dynamic_cast
        • (9)typename/template
        • (10)friend
        • (11)using/namespace
        • (12)virtual
        • (13)inline
        • (14)wchar_t
        • (15)mutable
        • (16)export
      • 5、往期内容

    十、总结-50例学懂C++

    1、简介

    点击前往百度百科

    C++是一种计算机高级程序设计语言,由C语言扩展升级而产生 ,最早于1979年由本贾尼·斯特劳斯特卢普在AT&T贝尔工作室研发。

    应用范围主要有大型游戏、界面操作、Arduino相关、QT等。

    2、工具

    常见的那几种是Notepad++、VS、Dev-C++、Xcode、VScode

    我自己使用Dev-C++来编译认证些简单C语言或C++,或者是VScode写代码然后虚拟机Ubuntu编译(我主要是用这个方式,而且50例也是使用g++工具链编译的)

    3、基本语法

    大家得有个清晰的认知:

    C++是面向对象的

        封装的形态格外突出,分门别类的思想特别深刻。举个例子:名称、肤色、体重、品种放在一起封装起来归类为属性,于是这个属性就可以用来形容狗、猫等宠物;然后猫、狗等动物也可以放在一起封装起来归类为某宠物店,于是这个宠物店就可以用来声明是哪个地方的宠物店;接着各不同地方的宠物店又可以封装起来归类为某个连锁公司......
    
    • 1

    C++是区分大小写的编程语言

    4、关键字

    在这里插入图片描述

    红框圈出来的和C语言的用法基本一致,不赘述。

    (1) asm

    在C++中嵌入汇编语言,一般是用于寄存器操作

    __asm{	mov al, 2  mov dx, 0xD007 out al, dx  }
    
    • 1

    (2)new/delete

    new是堆内存分配,类似于C语言的malloc;delete是堆内存释放,类似于C语言的free,见文章C++之1|从C到C++的例5-2

    (3)this

    用于标识类成员,在名称重复情况起区分作用,见文章C++之2|类的声明与函数的例7-3

    (4)operator

    运算符重载,见文章C++之4|运算符重载

    (5)throw/try/catch

    异常处理,见文章C++之6|多态与异常的例29

    (6)explicit

    隐式构造,见文章C++之7|转换函数的例35

    (7)private/public/class/protected

    private常用于表示类的私有成员,public常用于表示类的公共成员,class用于创建类,protected用于表示类的保护成员

    (8)reinterpret_cast/const_cast/static_cast/dynamic_cast

    标准转换函数,见文章C++之7|转换函数的例30~33

    (9)typename/template

    用于模板特化,见文章C++之8|模板与特化

    (10)friend

    友元,见文章C++之3|静态成员与友元

    (11)using/namespace

    常用表示情况如下

    using namespace std;
    
    • 1

    见文章C++之4|运算符重载的例19

    (12)virtual

    修饰表示虚函数(基类指针可指向派生类对象,动态联编),见文章C++之6|多态与异常的例26

    (13)inline

    可以把函数指定为内联函数。这样可以解决一些频繁调用的函数大量消耗栈空间(栈内存)的问题。

    1. 定义内联函数时,在函数定义和函数原型声明时都使用inline,也可以只在其中一处使用,其效果一样。
    2. 内联函数在编译时用内联函数函数的函数体替换,所以不发生函数调用,不需要保护现场,恢复现场,节省了开销。
    3. 内联函数增加了目标程序的代码量。因此,一般只将函数规模很小且使用频繁的函数声明为内联函数。
    4. 当内联函数中实现过于复杂时,编译器会将它作为一个普通函数处理,所以内联函数内不能包含循环语句和switch语句。
      内联函数格式如下:
    inline 函数类型 函数名(形参列表)
    {
    	函数体;
    }
    inline int add(int a, int b)
    {
    	return a + b;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    (14)wchar_t

    数据类型大部分和C语言一样,有个特殊:wchar_t
    char 是单字符类型,长度为一个字节

    wchar_t 是宽字符类型,长度为两个字节,主要用在国际 Unicode 编码中
    一些基本类型可以使用多个类型修饰符进行修饰,比如:signed short int
    下面是常用数据类型总结
    在这里插入图片描述

    (15)mutable

    含义与const相反,const是把变量常量化使得不可更改,而mutable是把常量变量化。注意:mutable修饰的变量最好是与类的状态无关。

    (16)export

    为了访问其他编译单元(如另一代码文件)中的变量或对象,对普通类型(包括基本数据类、结构和类),可以利用关键字extern来使用这些变量或对象;但是对模板类型,则必须在定义这些模板类对象和模板函数时,使用标准C++新增加的关键字export(导出/出口/输出)。
    在这里插入图片描述

    5、往期内容

    C++之1|从C到C++

    C++之2|类的声明与函数

    C++之3|静态成员与友元

    C++之4|运算符重载

    C++之5|组合与继承

    C++之6|多态与异常

    C++之7|转换函数

    C++之8|模板与特化

    C++之9|容器与迭代器

  • 相关阅读:
    SpringMvc-面试用
    13-ROS参数的学习与使用
    人工智能第2版学习——产生式系统2
    始祖双碳新闻 | 2022年8月11日碳中和行业早知道
    Linux系统卡顿处理记录(Debian)
    注解和反射
    新的“HTTP/2 快速重置”零日攻击打破了 DDoS 记录
    【ESP-IDF环境搭建,下载编译第一个程序】
    Redis系列:Geo 类型赋能亿级地图位置计算
    Android中framework
  • 原文地址:https://blog.csdn.net/weixin_44035986/article/details/126375154
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号