C++ 基础(1):代码框架

(一)代码框架 在做这个游戏之初始,对框架还是没啥概念的, 随着工程的越来越大,我才理解,高复用,耦合,内聚这些极抽象的概念。 MVC框架 个人认为这框架还是非常广泛而经典的,虽然游戏的代码都是我写的,但我仍体会到这个框架对团队协作非常的有利,各个层级各做各的,互不相干,但又受到统一的规范管理,多好。。 正题,先百度一波: MVC全名是Model View Controller,是模型(model)-视图(vie... 阅读详情

目录

简介:

1.预处理头文件

1.#include<...头文件...>

2.#include

2.using namespace std

3.主函数

4.return 0;

完整程序框架


简介:

  C++的代码框架是写代码时必写的部分,分为四个部分:

1.预处理头文件

1.#include<...头文件...>

  预处理头文件会直接从编译器自带的函数库目录(系统头文件)中寻找文件,来使用当前头文件的功能,比如:

#include<iostream>
//可以使用该头文件文件目录下的基础功能
cin>>a;
//和 
cout<<a; 

  有了系统自带的预处理头文件,我们就可以使用一些C++的基础功能和函数。当然预处理头文件不止<iostream>,下表列举了写代码时常用的头文件。

预处理头文件对应头文件的功能
#include<string>

I/O流控制头文件,I是input

O是output

#include<algorithm>常用算法头文件
#include<cmath>数学函数头文件
#include<cstdio>字符串头文件
#include<iomanip>

提供了访问标准输入、输出

流的函数和宏定义的头文件

2.#include<bits/stdc++.h>

  <bits/stdc++.h>是深受大家喜爱的头文件,俗称万能头文件,包含了大部分的头文件,但他也不包含某些特殊头文件,

比如:

#include<algorithm>//基础算法
#include<queue>//STL队列
#include<string>//字符串

所以,千万不要认为,万能头文件万能!!!

2.using namespace std

  C++中的语句"using namespace std"是一个编译预处理指令,它告诉编译器使用标准命名空间std中定义的标识符,而不必在每个标识符前都加上"std::"前缀。因为标准库中的大多数函数、对象和类型定义都在std命名空间中,因此使用该语句可以减少代码中的冗长,并让代码更加简洁易读。

写和不写的区别:

写:

#include<iostream>
using namespace std;
int main(){
   int a;
   cin>>a;
   cout<<a;
   return 0;
}                        

不写:

#include<iostream>                                 
int main(){
   int a;
   std::cin>>a;
   std::cout<<a;
   return 0
}

3.主函数

  C++的主函数是指整个程序的入口函数,它的函数原型通常是int main(int argc, char *argv[]),其中argc表示命令行参数的个数,而argv是一个指向指针的指针,每个指针都指向一个命令行参数字符串。主函数的返回值是一个整型值,通常用来表示程序执行的结果或状态,返回值为0表示程序成功执行,非零值则表示程序异常退出或发生错误。

下面是一个用主函数int main(){}写出的Hello,World!程序:

#include<iostream>
using namespace std;
int main(){
    cout<<"Hello,World!";
    return 0;
}

  在 C++ 中,主函数的名称必须为 main,否则编译器无法识别它作为程序入口点。因此,你必须要使用 main 作为主函数的名称。

4.return 0;

  在C++语言中,return 0;语句表示程序正常结束,并返回一个整数值0作为程序的退出状态码。这通常表明程序执行成功,没有发生运行时错误。在一些操作系统中,程序退出时会返回一个状态码,用于通知调用者程序的执行情况。在C++程序中,return 0;语句可用于指定程序的退出状态码为0,以表明程序执行成功。

完整程序框架

#include<iostream>
using namespace std;
int main(){

    return 0;
}

  

C++从入门到实践——C++程序基本框架 之前的学习,我已经将C++的编译环境和编译器都配置完成,现在要开始真正的步入这门语言的学习。如何快速的学习一门编程语言? 阅读详情

相关推荐

C++零基础入门笔记(简洁版)

本文介绍了C++语言入门基础知识点,主要包括以下内容:变量、数据类型、条件判断、循环、数组、字符串、枚举算法、指针、结构体、模板类、函数等等,适合零基础的同学。

m0_46403734的博客 2724

C++的基本框架

本文将开始介绍c++以上就是今天要讲的内容,本文仅仅简单介绍了c++的使用及基本框架,而c++提供了大量能使我们快速便捷地处理数据的函数和方法。

Ajnjx的博客 3026

MATLAB调用CPP代码

1.环境要求 电脑上同时安装VS及Matlab(本人是Matlab2015b 与VS2015) 2.配置方法 在Matlab命令行窗口中输入:mex -setup 并回车 选择第一个选项,完成VS2015的配置 3.编写cpp文件 在VS中编写CPP文件 #include “mex.h” double add(double x, double y) { return x + y; } //设置...

qq_26126831的博客 6344

C++——开发框架

C++ framework

qq_37233070的博客 4283

llama.cpp:本地大模型推理的高性能 C++ 框架

本文介绍llama.cpp部署本地大模型

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 1748

f2cpp-开源项目:将Fortran代码转换为C++的Python工具

f2cpp是一个将Fortran 77代码转换为C++代码的工具。它的出现是为了帮助那些仍然在使用Fortran 77进行科学计算的开发者和研究人员。通过这个工具,他们可以将Fortran 77代码转换为C++代码,从而在新的计算环境中运行。开源软件(Open Source Software)是指源代码公开的软件,其开发过程和最终成果都可以被任何人查看、修改和分发。这种模式起源于1998年,以促进软件创新和质量提升为目的。开源社区通常会围绕这些项目形成,社区成员自愿参与项目的开发和维护工作。

weixin_42181686的博客 1922

C++程序基础(1):代码框架与输出语句

C++程序基础教程:C++中基本程序框架与略讲命名空间。

2301_78806067的博客 568

从汇编到C++的桥梁:asm2cpp转换工具

本文还有配套的精品资源,点击获取 简介:本文探讨了如何将x86汇编语言转换为C++代码,强调了在特定场合汇编语言的重要性,并通过asm2cpp工具简化了转换过程。转换过程包括语法解析、指令映射、标签处理、预处理器宏的使用以及内存模型的处理。虽然转换后的C++代码具有更好的可读性和可维护性,但可能会丢失某些汇编特性,因此转换需要深思熟虑。 1. x86汇编语言基础 ...

weixin_42360733的博客 1910

Cpp入门基础

定义命名空间,需要使⽤到namespace关键字,后⾯跟命名空间的名字,然后接⼀对{}即可,{}中 即为命名空间的成员。命名空间中可以定义变量/函数/类型等。namespace本质是定义出⼀个域,这个域跟全局域各⾃独⽴,不同的域可以定义同名变量,所以下 ⾯的rand不在冲突了。C++中域有函数局部域,全局域,命名空间域,类域;域影响的是编译时语法查找⼀个变量/函数/ 类型出处(声明或定义)的逻辑,所有有了域隔离,名字冲突就解决了。

2401_86658278的博客 5088

STM32H7 Flash擦除后数据读取异常的缓存问题解析

本文深入分析了STM32H7系列芯片在Flash擦除后数据读取异常的缓存问题,揭示了由于数据缓存(D-Cache)和指令缓存(I-Cache)导致的数据一致性问题。通过详细的解决方案,包括手动维护缓存一致性和操作期间禁用缓存,帮助开发者有效解决这一常见但棘手的嵌入式开发难题。

weixin_29158413的博客 392

学习STM32的流体水位传感器

引言: 流体水位传感器是一种常用于测量液体水位的设备,广泛应用于水位监测、液位控制和流量计量等领域。STM32是一款功能强大的单片机,具有丰富的外设和灵活的编程能力,非常适合用于流体水位传感器的开发。本文将介绍如何使用STM32开发板与流体水位传感器进行连接和通信,并通过编写代码实现水位的测量和显示。五、总结: 通过以上的代码示例,我们可以实现使用STM32开发板与流体水位传感器进行连接和通信的功能。三、编写代码: 以下是使用STM32CubeIDE编写的示例代码,实现了读取流体水位传感器的功能。

xiaoalla的博客 739

C/C++算法竞赛代码框架

C/C++算法竞赛代码框架 包含基本代码框架和本地测试代码框架,本地测试代码支持重定向输入输出和输出程序运行时间

PKM of bk 5835

c# 开发串口调试助手 Visual Studio 2019

串口调试助手是用于在开发、测试和调试串口通信应用程序时进行串口数据的监视和交互的工具。

2301_76792852的博客 8060

【C++】11 Visual Studio 2019 C++安装matplotlib-cpp绘图

使用C++调用matplotlib-cpp绘图

记录专业模型开发、算法程序设计、软件学习笔记、生活日志。 9392

别光看Demo了!用UE5 Lyra框架快速搭建你的多人对战游戏原型(含完整配置流程)

本文详细介绍了如何利用UE5 Lyra框架快速搭建多人对战游戏原型,包含完整的配置流程和实战案例。Lyra作为可直接二次开发的游戏模板,内置了GAS技能系统、Enhanced Input输入控制等核心功能,大幅缩短开发周期。通过替换角色模型、调整武器数值和配置新地图规则,开发者可在48小时内完成科幻团队竞技游戏原型的搭建。

weixin_28717411的博客 455

RAD Studio 12安装全攻略:从下载到破解InterBase的完整流程(附KeyPatch使用技巧)

本文提供RAD Studio 12的完整安装指南,包括系统要求、安装步骤及InterBase数据库的高效配置方法。详细介绍了如何使用KeyPatch工具进行许可证处理,并分享了IDE优化和开发技巧,帮助开发者快速上手这一强大的跨平台开发工具。

q6r7s8t9的博客 946

Entitas-Cpp:高效C++实体组件系统(ECS)框架教程

Entitas-Cpp:高效C++实体组件系统(ECS)框架教程 项目介绍 Entitas-Cpp 是一个基于 C++11 的快速实体组件系统(Entity Component System, ECS)框架,它源自 Entitas 的 C# 版本,并针对 C++ 和非Unity环境进行了优化移植。Entitas-Cpp 设计用于提升游戏和其他复杂软件的性能和可维护性,通过将数据和行为分离至组件中,...

gitblog_00752的博客 743

元宇宙通证- 九、IT/ICT发展史全景长图

九、IT/ICT发展史全景长图 (一)综述 IT是Information Technology的缩写,意为”信息技术“,包含现代计算机、网络、通信等信息领域技术。自1844年人类历史上发出来第一份电报,实现了信息的长图传输,信息技术发展的历史大幕随之拉开。信息技术的普遍应用,是进入信息社会的标志。 IT技术最早发源于半导体,然后发展处计算机、通信网和互联网,进而演进到现在的AI、XR、计算机、大数据、物联网、工业互联网、区块链、量子计算等。 有人说元宇宙是下一代互联网,有人说元宇宙是互联网的终极形态。 我们

沧海之巅的专栏 1万+

如何快速掌握libjson-rpc-cpp:C++ JSON-RPC框架的完整指南

libjson-rpc-cpp是一款功能强大的C++框架,专为实现JSON-RPC 2.0和1.0协议设计。它提供跨平台支持,附带自动代码生成工具,帮助开发者轻松构建高效的远程过程调用应用。无论是初学者还是专业开发者,都能通过本指南快速上手,让RPC项目开发事半功倍! ## ???? 什么是libjson-rpc-cpp? libjson-rpc-cpp是一个开源的C++框架,提供完整的JSON...

gitblog_00252的博客 969

智能驾驶辅助系统(ADAS)全解析:功能详解 + 技术原理 + 实战案例

智能驾驶辅助系统(ADAS)是现代汽车技术的重要组成部分,旨在提升驾驶安全性和便利性。本文详细解析了ADAS的多个功能模块,包括自适应巡航控制(ACC)、车道偏离预警/车道保持辅助(LDW/LKA)、前向碰撞预警/自动紧急制动(FCW/AEB)、盲区检测/变道辅助(BSD/BSM)、倒车影像、自动泊车辅助(APA)、交通标志识别(TSR)、自动远光控制(AHB)、后方交叉来车预警(RCTA)和驾驶员疲劳监测。每个功能模块都基于特定的技术原理,如毫米波雷达、摄像头、传感器融合和深度学习算法,以实现对车辆周围环

weixin_43199439的博客 2098

AWS DevOps Agent 完全指南

AI 驱动的 SRE 队友,7×24 自主调查告警、定位根因、生成修复方案、预防未来故障。

探索云原生与智能化驱动下的安全运维新范式。关注DevSecOps、可观测性、AIOps等前沿领域,与您共赴技术前沿。 380

Jakt与C++互操作:内联CPP代码的完整使用手册

Jakt作为一门现代系统编程语言,提供了与C++无缝互操作的能力,通过内联CPP代码功能,开发者可以直接在Jakt代码中嵌入C++代码块,充分利用C++丰富的生态系统和高性能特性。本指南将详细介绍如何在Jakt中使用内联CPP代码,从基础语法到高级应用,帮助你轻松掌握这一强大功能。 ## 内联CPP的基础语法与安全限制 内联CPP代码是Jakt与C++互操作的核心机制,允许开发者在Jakt源代

gitblog_00179的博客 950

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

C++中在一个cpp文件中引用另外一个cpp文件的方法

创建1个func2.cpp 通过include 引入func1.cpp 来使用func1里面的方法(如果有单独的头文件,比如func1.h 可以通过#include“func1.h”)C++中在一个cpp文件中引用另外一个cpp文件 可以通过导入cpp文件或者.h文件来实现,类似python中的import 导入。

小牧在一直在学习,在前进的道路上大家一起学习,进步。 8007

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

从入门到入坟,零基础C++教学 之基础语法和基础框架 (1)

本文章适用于零基础或由编程基础的人观看

Danbai_的博客 1436

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

推荐一款高效C++ JSON-RPC框架——libjson-rpc-cpp

推荐一款高效C++ JSON-RPC框架——libjson-rpc-cpp 项目地址:https://gitcode.com/gh_mirrors/li/libjson-rpc-cpp 在当今的分布式系统中,远程过程调用(RPC)扮演着至关重要的角色,它允许跨网络进行无缝通信。今天,我要向大家介绍一个强大且灵活的C++库,用于实现JSON-RPC 2.0和1.0协议的libjson-rpc-cpp...

gitblog_00837的博客 1561

ECC 中的 C++ 代码审查:基于 cpp-review 命令的现代化 C++ 安全、并发与内存审查实践

`/cpp-review` 是 ECC(The agent harness performance optimization system)为 C++ 工程提供的一站式代码审查命令。它调用 **cpp-reviewer** 智能体,以 `git diff` 识别改动、以 `clang-tidy` 与 `cppcheck` 做静态分析,按 CRITICAL / HIGH / MEDIUM 三级严重度

gitblog_00352的博客 899
上一篇: 详解C++暴力枚举算法
下一篇: 三子棋游戏(C++)
186-38
博客等级 码龄4年 30粉丝 30原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值