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.pswp.cn/bicheng/84290.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/84290.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/84290.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2024 CKA題庫+詳盡解析| 15、備份還原Etcd

目錄 免費獲取題庫配套 CKA_v1.31_模擬系統 15、 備份還原Etcd 題目&#xff1a; 開始操作: 1&#xff09;、切換集群 2&#xff09;、登錄master并提權 3&#xff09;、備份Etcd現有數據 4&#xff09;、驗證備份數據快照 5&#xff09;、查看節點和Pod狀態 6&am…

Flotherm許可的并發用戶數限制

在電子產品熱設計領域&#xff0c;Flotherm軟件以其卓越的性能和精確的仿真能力而受到廣大用戶的青睞。然而&#xff0c;在使用Flotherm軟件時&#xff0c;了解其許可的并發用戶數限制對于優化資源配置和提升工作效率至關重要。本文將詳細介紹Flotherm軟件許可的并發用戶數限制…

讀取寶塔方法,查找容別名存放位置

可以查到對應方法 根據參數名可知 查找到 得到位置

【1】跨越技術棧鴻溝:字節跳動開源TRAE AI編程IDE的實戰體驗

2024年初&#xff0c;人工智能編程工具領域發生了一次靜默的變革。當字節跳動宣布退出其TRAE項目&#xff08;一款融合大型語言模型能力的云端AI編程IDE&#xff09;時&#xff0c;技術社區曾短暫嘆息。然而這一退場并非終點——通過開源社區的接力&#xff0c;TRAE在WayToAGI等…

git連接本地倉庫以及gitee

參考:gitee創建新倉庫并上傳代碼_gitee新建倉庫導入代碼-CSDN博客 git初始化以及添加git分支 在idea查看master主分支 報錯 原因gitee推送更新失敗問題記錄&#xff1a;remote: error: hook declined to update refs/heads/master-CSDN博客 取消郵箱暴露

pocketflow庫實現guardrail

目錄 代碼代碼解釋1. 系統架構2. 核心組件詳解2.1 LLM調用函數2.2 UserInputNode&#xff08;用戶輸入節點&#xff09;2.3 GuardrailNode&#xff08;安全防護節點&#xff09;2.4 LLMNode&#xff08;LLM處理節點&#xff09; 3. 流程控制機制 示例運行 代碼 from pocketflo…

Fetch API 使用詳解:Bearer Token 與 localStorage 實踐

Fetch API&#xff1a;現代瀏覽器內置的用于發送 HTTP 請求的 API&#xff0c;Bearer Token&#xff1a;一種基于令牌的身份驗證方案&#xff0c;常用于 JWT 認證&#xff0c;localStorage&#xff1a;瀏覽器提供的持久化存儲方案&#xff0c;用于在客戶端存儲數據。 token是我…

Netty自定義協議解析

目錄 自定義協議設計 實現消息解碼器 實現消息編碼器 自定義消息對象 配置ChannelPipeline Netty提供了強大的編解碼器抽象基類,這些基類能夠幫助開發者快速實現自定義協議的解析。 自定義協議設計 在實現自定義協議解析之前,需要明確協議的具體格式。例如,一個簡單的…

馭碼 CodeRider 2.0 產品體驗:智能研發的革新之旅

馭碼 CodeRider 2.0 產品體驗&#xff1a;智能研發的革新之旅 在當今快速發展的軟件開發領域&#xff0c;研發效率與質量始終是開發者和企業關注的核心。面對開發協作流程繁瑣、代碼生成補全不準、代碼審核低效、知識協同困難以及部署成本與靈活性難以平衡等問題&#xff0c;…

NLP學習路線圖(二十六):自注意力機制

一、為何需要你?序列建模的困境 在你出現之前,循環神經網絡(RNN)及其變種LSTM、GRU是處理序列數據(如文本、語音、時間序列)的主流工具。它們按順序逐個處理輸入元素,將歷史信息壓縮在一個隱藏狀態向量中傳遞。 瓶頸顯現: 長程依賴遺忘: 隨著序列增長,早期信息在傳遞…

【渲染】Unity-分析URP的延遲渲染-DeferredShading

我是一名資深游戲開發&#xff0c;小時候喜歡看十萬個為什么 介紹 本文旨在搞清楚延遲渲染在unity下如何實現的&#xff0c;為自己寫延遲渲染打一個基礎&#xff0c;打開從知到行的大門延遲渲染 輸出物體表面信息(rt1, rt2, rt3, …) 著色(rt1, rt2, rt3, …)研究完感覺核心…

華為OD機考- 簡單的自動曝光/平均像素

import java.util.Arrays; import java.util.Scanner;public class DemoTest4 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的區別while (in.hasNextLine()) { // 注意 while 處理多個 caseint[] arr Array…

java 樂觀鎖的實現和注意細節

文章目錄 1. 前言樂觀鎖 vs. 悲觀鎖&#xff1a;基本概念對比使用場景及優勢簡述 2. 基于版本號的樂觀鎖實現代碼示例注意事項 3. 基于CAS機制的樂觀鎖實現核心思想代碼示例關鍵點說明 4. 框架中的樂觀鎖實踐MyBatis中基于版本號的樂觀鎖實現示例代碼 JPA&#xff08;Hibernate…

河北對口計算機高考C#筆記(2026高考適用)---持續更新~~~~

C#筆記 C#發展史 1998年,C#發布第一個版本。2002年,visual studio開發環境推出C#的特點 1.語法簡潔,不允許直接操作內存,去掉了指針操作 2.徹底面向對象設計。 3.與Web緊密結合。 4.強大的安全機制,語法錯誤提示,引入垃圾回收器機制。 5.兼容性。 6.完善的錯誤,異常處理…

C# dll版本沖突解決方案

隨著項目功能逐漸增加&#xff0c;引入三方庫數量也會增多。不可避免遇到庫的間接引用dll版本沖突&#xff0c;如System.Memory.dll、System.Buffer.dll等。編譯會報警&#xff0c;運行可能偶發異常。 可使用ILMerge工具合并動態庫&#xff0c;將一個庫的多個dll合并為一個dll。…

深度解析:etcd 在 Milvus 向量數據庫中的關鍵作用

目錄 &#x1f680; 深度解析&#xff1a;etcd 在 Milvus 向量數據庫中的關鍵作用 &#x1f4a1; 什么是 etcd&#xff1f; &#x1f9e0; Milvus 架構簡介 &#x1f4e6; etcd 在 Milvus 中的核心作用 &#x1f527; 實際工作流程示意 ?? 如果 etcd 出現問題會怎樣&am…

隨機訪問介質訪問控制:網絡中的“自由競爭”藝術

想象一場自由辯論賽——任何人隨時可以發言&#xff0c;但可能多人同時開口導致混亂。這正是計算機網絡中隨機訪問協議的核心挑戰&#xff1a;如何讓多個設備在共享信道中高效競爭&#xff1f;本文將深入解析五大隨機訪問技術及其智慧。 一、核心思想&#xff1a;自由競爭 沖突…

設計模式作業

package sdau;public class man {public static void main(String[] args) {show(new Cat()); // 以 Cat 對象調用 show 方法show(new Dog()); // 以 Dog 對象調用 show 方法Animal a new Cat(); // 向上轉型 a.eat(); // 調用的是 Cat 的 eatCat c (Cat)a…

Kaspa Wasm SDK

文章目錄 1. 簡要2. github地址 1. 簡要 kaspa wallet SDK&#xff0c;在官方WASM基礎上封裝了應用層的方法&#xff0c;簡便了WASM的初始化及調用。 核心功能包括如下&#xff1a; 賬戶地址生成及管理Kaspa Api 和 Kasplex Api的封裝kaspa結點RPC 封裝P2SH的各個場景script封…

ROS mapserver制作靜態地圖

ROS mapserver制作靜態地圖 靜態地圖構建 1、獲取一個PNG地圖&#xff0c;二值化 2、基于PNG地圖&#xff0c;生成PGM地圖&#xff0c;可以通過一些網站在線生成&#xff0c;例如Convertio 文件配置 1、將文件放置于/package/map路徑下。 2、編寫yaml文件&#xff0c;如下…