前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >再探函数

再探函数

作者头像
Cloud-Cloudys
发布2020-07-07 16:07:25
3760
发布2020-07-07 16:07:25
举报
文章被收录于专栏:ShanSan的云原生之路

main:处理命令行

代码语言:javascript
复制
//main函数的两种定义形式
int main(int argc,char **argv[])
int main(int argc,char *argv[])
  • argc:指的是命令行中输入参数的个数
  • argv:一个数组,它存储了所有的命令行参数

参数使用示例子:

代码语言:javascript
复制
//file_name:test.cpp 
//author:shansan
#include<iostream>
#include<stdio.h>
using namespace std;
int main(int argc,char **argv) 
{
	int i;
	for(i=0;i<argc;i++)
	{
		printf("argv[%d]=%s\n",i,argv[i]);
	} 
	return 0;
}

含有可变形参的函数

initializer_list形参

  • initializer_list是一种标准库类型,用于表示某种特定类型的值的数组
  • initializer_list也是一种模板类型
  • 支持size(),begin(),end()等操作
  • 向initializer_list形参中传递一个值的序列,则必须把序列放在花括号中
代码语言:javascript
复制
#include<iostream>
using namespace std;


void print_1(initializer_list<string> str)
{
    //遍历实参表列,使用initializer_list对象的成员begin和end进行遍历 
	cout<<"parameter nums: "<<str.size()<<endl; 
		
	for(auto temp = str.begin();temp != str.end(); ++temp) 
	{
	    cout<<*temp<<endl;
    }
    
    cout<<endl;
    //用范围for语句遍历表列
	for(auto beg : str)
	{
		cout<<beg<<endl;
	} 
}

int main()
{
	const string a = "shansan";
	string b = "yeshan333";
	string c = "wocao";
	
	//向initializer_list形参中传递一个值的序列需放在花括号内部 
    print_1({a,b,c});
	
	return 0;	
}

函数返回值—–列表初始化返回值

  • 函数可以返回花括号包围的值的列表
  • 如果函数返回的是内置类型,则花括号包围的列表最多包含一个值,而且该值所占空间不应该大于目标类型的空间
  • 如果函数返回的是类类型,由类本身定义初始值如何使用
代码语言:javascript
复制
#include<iostream>
#include<vector>
using namespace std;

vector<string> process()
{
	return {"shansan","yeshan333"};
}

int main()
{
	vector<string> v;
	v = process();
	//遍历vector对象 
	for(auto temp : v)
	{
	    cout<<temp<<endl;	
	} 
	return 0;
}

调试帮助,预定义跟踪调试

编译器为我们定义的

  • func:存放当前调试函数的名字
  • FILE:存放文件名的字符串字面值常量
  • LINE:存放文件当前行号的整型字面值
  • TIME:存放文件编译时间的字符串字面值常量
  • DATE:存放文件编译日期的字符串字面值常量
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年11月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • main:处理命令行
  • 含有可变形参的函数
    • initializer_list形参
    • 函数返回值—–列表初始化返回值
    • 调试帮助,预定义跟踪调试
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档