(二)C++新手入门必知

C++只是一门语言

通常说的学习C++仅仅是学习C++这门语言本身,网上有很多的教程,也有很多的书籍都是在介绍C++语言,C++语法以及一些使用C++实现的算法。C++ 语法应该是现在高级语言中最复杂的,特别是C++11 之后加入了很多的新特性。其他的高级语言加入了新特性会让开发者用起来更简单,而C++却相反,每加入一些新特性就会极大的提高学习成本,细节非常多,想要运用好新特性真的需要好好的研究一番。而且C++语言除了官方的stl库 就没有任何官方的辅助库,stl库的功能也是非常有限,其他全靠开源社区的支持。这点比其他语言逊色太多了。

什么是C++开发

如果有人对你说他是做android开发,做iOS 开发。你一下子就能明白他的工作。但是如果有人跟你说是做C++开发的那你肯定很懵,因为根本猜不出来他的工作。因为C++只是一门语言,这门语言可以用在任何开发场景,也可以用在任何平台。大到操作系统的开发,小到一个软件窗口 都可以用C++来写。C++可以用于windows程序开发,也可以用于android/iOS开发。C++可以用在客户端开发也可以用在后台开发。所以说C++ 工程师是一个非常非常广泛的概念。 而 android/iOS开发更详细可以理解为在android/iOS 系统上开发app,所以别人一听就知道了。

学完C++开发能做什么

C++ 学完之后能做什么 是很多新手特别关心的问题,特别是客户端开发。学完C++之后是不是就可以开发出一个可交互的软件?是不是就可以去做游戏开发?答案并不能。这个和android/iOS 开发完全是两回事。体验也完全不同。当C++还在学习 class,虚函数的时候,andoird/iOS 开发已经开始写界面了,已经学会了弹出界面,处理点击按钮事件了。对着app可以一顿操作,然后执行自己写的代码。真的是成就感满满。 c++ 开发还在对着黑色的控制台窗口发呆,花费大量的时间学习封装,继承,多态,可以说是有点无聊。经过了一段时间的学习之后,C++ 的语法学得差不多了,这个时候更迷茫了,不知道接下来要干啥。当初信心满满的以为学完了C++就可以开发软件,开发游戏了,而实际上还有很长一段距离。

系统API

C++ 语言学习完之后,我们还需要接触另一个东西就是系统API。 什么事系统API,下面是一个解释
系统API(Application Programming Interface)是软件系统提供给开发者使用的一组接口,用于访问操作系统的功能和资源。系统API允许开发者通过调用指定的函数或方法来实现特定的操作,例如访问文件系统、网络通信、系统设置、用户界面等。开发者可以使用系统API来创建应用程序,与操作系统或其他软件系统进行交互。
所以当我们学习完C++之后,就需要使用系统提供的API 来开发应用程序,比如制作一个窗口,点击一个按钮,输入文本框等等。无论是windows,iOS还是android 都提供了丰富的API 给开发者使用。

集成开发环境(IDE)

无论是开发哪个系统的app 都会有相应的集成开发环境,可以编写代码,编译,运行,调试等一条龙服务。windows 上的Visual Studio, iOS 使用的xcode,以及安卓的 android studio。 这些开发工具可以大大提高写代码的效率, 简化调试过程,而且还支持 git等版本控制。所以一定要先熟悉这些IDE 的使用。

包管理工具

很多的高级语言都有自己的包管理工具,比如node 使用npm。 java 使用mavn等。 C++并没有官方的包管理工具,这也是C++ 的一个最大的弱点。原因非常多,有历史原因也有语言本身特性问题。C++是一门静态类型的编程语言,它的编译和链接过程复杂,C++的代码在不同的平台和编译器上可能会有不同的行为。使用不同版本的STL 编译出来的库都会不兼容。所以通常做法都是把源码下载回来,在特定的环境下编译生成产物。一个项目的开发者必须统一开发环境,否则即使有产物也不一定能使用。

后面的文章将会介绍一些实际项目中框架设计相关的内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/300255.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

光速爱购--靠谱的SpringBoot项目

简介 这是一个靠谱的SpringBoot项目实战,名字叫光速爱购。从零开发项目,视频加文档,十天就能学会开发JavaWeb项目。 教程路线是:搭建环境> 安装软件> 创建项目> 添加依赖和配置> 通过表生成代码> 编写Java代码&g…

LeetCode-重复的子字符串(459)

题目描述: 给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。 思路一: 使用枚举的方法。首先因为字符串s有一个子串重复多次构成,那么s的长度len与子串的长度subLen应该成倍数关系,并且在s中索…

C++/OpenGL应用程序

图像应用程序大部分是 C 编写,OpenGL 调用实现与 3D 渲染相关任务将会使用一些扩展库: GLEW、GLM、GLFW、SOLL2 等。 GLFW 库包含 GLFWwindow 类,我们可以在其上进行 3D 场景绘制。OpenGL 也向我们提供了用于 GLSL 程序载入可编程着色阶段并对其进行编译…

算法第十三天-组合总和Ⅱ

组合总和Ⅱ 题目要求 解题思路 按顺序搜索,设置合理的变量,在搜索的过程中判断是否会出现重复集结果。重点理解对输入数组排序的作用和参考代码中 大剪枝和小剪枝 的意思 这道题域上一问的区别在于: 第39题:candidates中的数字…

Linux系统IO—探索输入输出操作的奥秘

🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:HEART BEAT—YOASOBI 2:20━━━━━━️💟──────── 5:35 🔄 ◀️ ⏸ ▶️ ☰ …

PMP过了就是中级职称?

🌻PMP项目管理专业人士认证在全球范围内受到广泛认可,许多人就误以为获得PMP证书就等同于获得中级职称。但是,事实真的如此吗❓ 1️⃣PMP不属于职称认证 ✅PMP证书: 是由美国项目管理协会(PMI)颁发的专业认证,旨在证明…

2022年多元统计分析期末试题

2023年多元统计分析期末试题 1.试论述系统聚类、动态聚类和有序聚类的异同之处。 2、设 X {X} X~ N 3 {N_3} N3​(μ,Σ),其中 X {X} X ~ ( X 1 {X_1} X1​, X 2 {X_2} X2​, X 3 {X_3} X3​),μ (1,-2,3)‘,Σ [ 1 1 1 1 3 2…

leetcode——杨辉三角

https://leetcode.cn/problems/pascals-triangle/ 杨辉三角: 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 核心思想:找出杨辉三角的规律,发…

mybatis调用Oracle存储过程 带游标

目录 存储过程 调用测试 游标 Mapper.xml Mapper 调用测试 结果 存储过程 CREATE OR REPLACE PROCEDURE proc_test2(p_id IN NUMBER,v_cur OUT SYS_REFCURSOR,p_result_code OUT NUMBER,p_result_message OUT VARCHAR2) AS BEGINp_result_m…

阿里云服务器固定带宽实际下载速度表,不只是3M固定带宽

阿里云服务器公网带宽上传和下载速度对照表,1M带宽下载速度是128KB/秒,为什么不是1M/秒?阿里云服务器网aliyunfuwuqi.com分享阿里云服务器带宽1M、2M、3M、5M、6M、10M、20M、30M、50M、100M及200M等公网带宽下载速度对照表,附带宽…

安科瑞电力物联网系统在电力设备在线监测中的应用——安科瑞 顾烊宇

摘要:近年来,社会经济发展速度不断提升,对电力能源的需求大幅增加,为保障变电站等电力设备合理发挥功能,保障供电安全性和稳定性,应当加强对电力设备的监测和管理。而电力物联网技术是现代一种安全工器具的…

一文搞定JVM内存模型

鲁大猿,寻精品资料,帮你构建Java全栈知识体系 www.jiagoujishu.cn 运行时数据区 内存是非常重要的系统资源,是硬盘和 CPU 的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JVM 内存布局规定了 Java 在运行过程中内存申请、…

application.properties 如何改成 application.yml

Convert YAML and Properties File 右键直接转换即可 Further Reading : idea 常用插件

月报总结|Moonbeam 12月份大事一览

一转眼已经到年底啦。本月,Moonbeam基金会发布四个最新战略重点:跨链解决方案、游戏、真实世界资产(RWA)、新兴市场。其中在新兴市场方面,紧锣密鼓地推出与巴西公司Grupo RO的战略合作。 用户教育方面,为了…

详解Java中的原子操作

第1章:什么是原子操作 大家好,我是小黑,面试中一个经常被提起的话题就是“原子操作”。那么,到底什么是原子操作呢?在编程里,当咱们谈论“原子操作”时,其实是指那些在执行过程中不会被线程调度…

Python | 基于Mediapipe框架的手势识别系统

一、项目要求 1、题目 本题着力于解决会商演示系统中的非接触式人机交互问题,具体而言,其核心问题就是通过计算机视觉技术实现对基于视频流的手势动作进行实时检测和识别。通过摄像头采集并识别控制者连续的手势动作,完成包括点击、平移、缩放…

关于无人机上层控制的PID算法的思考

一、前言 背景介绍:PID虽然出现了很多年,但是目前工业界还是把PID作为主流的控制算法(尽管学术界有很多非常时尚的控制算法,包括鲁邦控制,神经网络控制等等),PID的算法在于其不需要对系统进行复…

编程语言的生命力

一、目前主流的编程语言 目前流行的编程语言有很多种,可谓是百花齐放、百家争鸣。根据不同的应用场景和领域,有不同的编程语言被广泛使用。一些目前主流的编程语言HTML5、Python、JavaScript 、Java 、C 、PHP 、Swift 等等。 还有许多其他的编程语言&am…

leetcode算法题之递归--综合练习(二)

本章目录 1.N皇后2.有效的数独3.解数独4.单词搜索5.黄金矿工6.不同路径III 1.N皇后 N皇后 class Solution {vector<vector<string>> ret;vector<string> path;int n;bool checkCol[10],checkDig1[20],checkDig2[20]; public:vector<vector<string&g…

1018:奇数偶数和1028:I love 闰年!和1029:三角形判定

1018&#xff1a;奇数偶数 要求&#xff1a;输入一个整数&#xff0c;判断该数是奇数还是偶数。如果该数是奇数就输出“odd”&#xff0c;偶数就输出“even”&#xff08;输出不含双引号&#xff09;。 输入样例&#xff1a;8 输出样例&#xff1a;even 程序流程图&#xff1a…