当前位置: 首页 > news >正文

01__C++入门

一、C++的语法框架

        首先学习一门语言,我们需要了解语言的基本框架,这一小节,我们学习C++的历史应用,c和c++的区别和c++的标准

二、认识C++

1、C++的历史

所有的主流C++编译器都支持这个版本的C++(1998年的版本)。

2、C++的应用

        C++主要用在开发系统、算法核心、游戏引擎等对性能高度敏感的领域,除了性能出众,C++的高安全性也是首屈一指的。下面简单介绍C++在IT各开发领域所展露的强大生命力。

游戏、动画、浏览器、数据库、多媒体、编译系统、操作系统(和c混合写)、应用软件开发

        而走嵌入式QT方向(即软硬结合的):有上位机、服务软件上位机(挂号机,点菜机,收银机等),或者车载上位机等。

        总结来说就是:C++这种偏向应用软件开发的语法,语言更新迭代速度势必比面向过程系统开发的C语法速度快多了(应用层互联网开发相比之下拿高工资会比较累当然这里指的是一种现象,并不是100%的常见现象,看公司文化而定)

3、C和C++的区别

1、和C相比(C++是C的扩展)

1:C++是在C语言的基础上扩展而来,所以C++ 完全兼容C语言,可以在C++程序中写C语言的代码。

2:c++引入了名字空间,可以使定义的变量名更多(提升变量符号的复用性)。

3:c语言面向过程(面向函数封装和函数调用的顺序过程),c++面向对象(类(结构体)的变量)。

4:c++使用了,能够继承,继承使得定义相似的类时能够直接从上一层得到一些方法或变量来进行直接使用。

4、C++的标准C++中文参考手册

c++后面还有c++23(2023草案)

补充C的标准:c89(c90) 、c99

系统层的更新迭代肯定比应用层更新迭代慢,所以对应的编程设计语言相对比较慢。

5、第一个C++程序(hello world)

#include <iostream>  // input  output  C++标准头文件 cout  cin 相当于下面c的头文件
#include <stdio.h>   //  printf scanfint main()
{//std::cout  表示 标准输出流 --屏幕终端   //std::endl  代表换行std::cout <<"hello world" <<std::endl;return 0;
}

编译的时候使用g++编译器

g++ hello.cpp  -o hello
./hello //运行效果
hello world

注意点:在C++中能否写C的代码?

 答案:当然是可以的

那怎么操作呢?

这就要用到C++中的extern "C"语法引入

完整例子:

#ifdef __cplusplus  //为了让下面的c代码只能在.cpp文件中才显示//这是在c++文件中写c语言的最标准的写法
extern "C"         // extern "C"是c++里的一个语法
{#include <stdio.h>void Fun();void Fun(){printf("hello world!\n");}
}#endif
// 上面在c++中引用c代码的例子现实中是很少用到的#include <iostream>using namespace std;int main()
{//Fun();return 0;
}

http://www.xdnf.cn/news/952291.html

相关文章:

  • 根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
  • 从零手写Java版本的LSM Tree (五):布隆过滤器
  • CppCon 2015 学习:Transducers, from Clojure to C++
  • 蓝桥杯第十届国B 质数拆分
  • 深入解析 ReentrantLock:原理、公平锁与非公平锁的较量
  • DreamO字节开源图像编辑框架
  • IDC智能机房整体解决方案
  • 华为云Flexus+DeepSeek征文|基于华为云一键部署Dify平台,接入DeepSeek大模型,构建数据可视化助手应用实战指南
  • ubuntu22.04 安装docker 和docker-compose
  • windows系统MySQL安装文档
  • 【深度学习新浪潮】什么是credit assignment problem?
  • 编程工具点亮效率之光
  • 九、MySQL执行原理
  • OPenCV CUDA模块光流处理------利用Nvidia GPU的硬件加速能力来计算光流类cv::cuda::NvidiaHWOpticalFlow
  • 【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
  • MAZANOKE结合内网穿透技术实现跨地域图像优化服务的远程访问过程
  • 零基础设计模式——行为型模式 - 命令模式
  • 使用地球观测数据优化云到 GPU 的吞吐量以进行深度学习
  • rm视觉学习1-自瞄部分
  • 使用python进行图像处理—图像标识与NumPy(3)
  • 【PDF识别改名】PDF指定区域OCR识别重命名工具使用教程和注意事项
  • 前缀和题目:寻找数组的中心下标
  • NoSQL 之 Redis 集群
  • JS红宝书笔记 10.6 - 10.10 函数
  • 树莓派超全系列教程文档--(60)树莓派摄像头操作命令及使用其一
  • Cyber Weekly #59
  • 如何在网页里填写 PDF 表格?
  • MyBatis中关于缓存的理解
  • Spring Framework 6:核心升级特性
  • 2023赣州旅游投资集团