最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

世界热点评!臭名昭著的“Hello,World!”

来源:博客园


(资料图)

Windows平台下的c++集成开发环境(Integrated Development Environment,IDE)有很多种,例如微软的Visual studio 2022、Visual Studio Code两款IDE,前者偏向企业级的重量级代码开发,后者偏向数据科学界的轻量级高度可配置性开发。还有CLion,其是JetBrains开发的现代IDE,旨在Windows,Linux和MacOS等各种平台上运行C和C ++。这些开发套件包含有最基本的文本编辑、代码编译、Debug功能(仿真调试,追踪代码运行过程)、图形用户界面等功能,对用户来说十分友好。具体选择哪款IDE是仁者见仁智者见智的问题,但普遍选择标准是界面美观性、编码编写的便捷性、代码跨平台性等。我这里为了方便选择酷炫的Visual Studio Code。假设你已经安装了VS code并配置好了c++运行环境(如何下载和配置网上教程多如牛毛,据说环境配置是程序员的一大拦路虎,不知道真假!还没入门就死在环境配置上了)。据说深度学习各种包配置劝退了一波程序员IDE配置好后,我们就开始进入正题:程序员的骨灰级示例代码,Hello World!
#include  using namespace std; int main(int argc, char** argv) {     int input = 10;     cout << "Hello, world!\n" << endl;     cin >> input;     return 0; }
短短的8行代码包含的信息量不少
  • 标准库 其使用到了c++标准库iostream。c++属于高级语言,其包含有很多封装好的库,所以学习库如何使用及其原理也是至关重要的。iostream是c++的常用标准库之一内部包含了很多我们常用的流文件的处理,如输入和输出。为了防止库与我们自定义的变量名称冲突,所以它使用了命名空间,封装的命名空间名称为std。
当我们使用标准库里的变量或者对象时,有两种方式,其一是在文件开头使用using namespace xxx;其二是直接使用xxx:yyy(xxx是命名空间,如std,yyy是命名空间里声明的对象,如cin)。前者属于全局性的,把所有命名空间里声明的对象都包含进来了,后者将灵活性交给程序员,使用到什么对象时,再包含进来。为了编写代码方便,推荐使用第一种。//其一: using namespace std; cout << "Hello, world!\n" << endl; //其二 std::cout << "Hello, world!\n" << std::endl;下图是std命名空间声明的部分对象截图​
  • int main(int argc, char** argv) 系统运行的初始函数就是main函数,其第一个参数是argc(argument count)表示需要传入的参数个数,第二个参数是argv(argument value)表示需要传入的参数值。默认argc值为1,argv里保存的是程序的名称。至于为什么argv第一个保存的是程序的名称,可能是因为程序员会用到?不是我们需要关心的问题。
#include  using namespace std; int main(int argc, char** argv) {     cout << "argc = " << argc << endl;      cout << "argv[0] = " << argv[0] << endl;     return 0; }
​main函数传入三个参数案例
#include  using namespace std; int main(int argc, char** argv) {     cout << "argc = " << argc << endl;     cout << "argv[0] = " << argv[0] << endl;     if(argc == 3)     {         int a = stoi(argv[1]);         int b = stoi(argv[2]);         cout << "a+b = " << a+b << endl;     }     else     {        cout << "传入的参数个数不对"<View Code​当项目有需求,如让你写个小工具自动化批处理文件时,使用命令行给main函数传参就会显得很实用。
  • main函数返回值
  • 编写main函数梭哈return 0可不是个好习惯,应该根据不同情况返回不同值,方便程序执行过程中就可以得知程序是那个环节出现问题。
  • main函数中的return 0是返回给操作系统的,如不需要返回给操作系统可定义void main(),常见于单片机程序。
  • return 0 exit(0) _exit(0)区别,
  1. return是关键字,exit(0)和_exit(0)是函数
  2. return是返回给上一级,exit(0)和_exit(0)是退出进程,在main函数里,return 0 和 exit(0) 效果一样
  3. exit(0)退出进程前刷新IO缓冲区,_exit(0)属于内核中的系统调用,不会刷新IO缓冲区
  4. 详细区别见https://www.zhihu.com/question/545048629
臭名昭著的“Hello,World!”果然不简单

关键词: