写了好久的程序,最近才发现,一些基本的东西总是混淆。打算从现在开始踏踏实实过一遍,即使自己学习的过程,也是发现并纠正错误认识的过程,尤其是在一些细节方面。
第一篇文章,先从一个标准的C++程序开始吧。
#include <iostream>
using namespace std;
/**
* Learning OpenCV Chapter 2
* The first example:
* Gole:Load an image & show it.
*/
/*
* 先了解一下主函数吧,啥也不说,他是程序的入口。有两个参数:
* 第一个,是一个整形参数,代表这个程序一共有多少个参数输入,注意,这里的数目包括程序名本身。
* 也就是说,它的值>=1。
* 第二个,是整个参数列表,说白了就是一个字符串数组。argv是指向这个数组的首地址指针。
*/
int main( int argc, char** argv )
{
cout << "argc:" << argc << endl;
for(int i = 0;i < argc;i++){
cout << "argv" << i << ":" << argv[i] << endl;
}
return 0;
}
下面是程序的输出,我们可以看到。在单独执行程序的时候,argc等于1,argv[0] 就等于程序的名字。
第二次,我随意在程序后面输入一些以空格分隔的字符串,argv就以输入顺序自然分割了。