C++开发学习笔记一:概述

目录

C++概述

C和C++有什么不同?

C++新增保留字

第一个C++程序


C++概述

C++是一种通用的、静态类型的、编译型的编程语言,它在C语言的基础上添加了面向对象编程(OOP)的特性,同时保留了C语言的底层控制和高性能特性。

C和C++有什么不同?

  • 语法的区别:C语言是结构化编程语言,面向过程的(C也可以编写面向对象的程序)它具有简洁的语法和基本的编程结构;C++是面向对象编程语言,C++是面向对象的,除了C语言的特性外,还添加了类、对象、继承、多态等面向对象编程的概念,是C语言的超集,编写面向对象的程序更容易
  • 从适用的方向:C适合要求代码体积小的,效率高的场合,如嵌入式;C++适合更上层的,复杂的; Linux核心大部分是c写的,因为它是系统软件,效率要求极高。
  • 标准库:C语言的标准库主要包含了一些基本的输入输出函数(如printf和scanf)、字符串处理函数、数学函数等。而C++语言的标准库则更加丰富,包含了C语言标准库的功能外,还添加了许多支持面向对象编程的类和函数,如容器(vector、list、map等)、输入输出流(iostream)、算法库等。
  • 内存管理:在C语言中,内存管理是手动进行的,包括动态内存分配(malloc和free)和显示的指针操作。而C++语言引入了自动的内存管理机制,包括运算符`new`和`delete`用于动态分配和释放内存,智能指针(smart pointer)用于更方便地管理动态内存,以及析构函数(destructor)用于对象的资源回收。
  • 异常处理:C++语言支持异常处理机制,允许程序在遇到错误或异常情况时从函数中抛出异常,并提供了try-catch块用于捕获并处理异常。C语言则没有内置的异常处理机制,通常使用返回值或全局变量来表示错误状态。
  • 兼容性: C++语言是C语言的超集,也就是说,符合C语言标准的代码也能在C++中编译和执行。但是,C++添加了一些新的特性和关键字,所以一些C语言的代码可能在C++中无法通过编译。
  • 泛型编程: C++引入了模板(template)机制,允许在编写通用代码时使用类型参数,实现泛型编程,提高代码的重用性和灵活性。

C++新增保留字

由AT&T贝尔实验室的Bjarne Stroustrup开发,从C语言派生的,与C语言是兼容的

包括但不限于:

  • class、public、private、protected、friend、operator  :用于定义类、结构体以及成员访问控制权限。
  • virtual、override、final:用于虚函数的声明和继承关系的调整。
  • this:用于表示当前对象指针。
  • new、delete:用于动态内存分配和释放。
  • namespace、using:用于命名空间的定义和使用。
  • static_cast、dynamic_cast、const_cast、reinterpret_cast:用于类型转换。
  • template、typename:用于模板类型的定义和使用。
  • explicit:用于显式构造函数,防止隐式类型转换。
  • throw、try、catch:用于异常处理机制。
  • using:用于类型别名的定义。
  • constexpr:用于声明常量表达式。
  • nullptr:用于表示空指针。

第一个C++程序

下面是一个简单的C++程序,输出"Hello, World!"到控制台:

#include <iostream>

int main() { std::cout << "Hello, World!" << std::endl; return 0; }

使用#include指令包含了"iostream"头文件,它提供了输入输出流的功能。然后,在main函数中,使用std::cout来输出文本到控制台,<<是输出运算符用于输出字符串或变量的值。最后,使用std::endl输出一个换行符,并返回0表示程序的正常退出。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tech Embedded

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值