C++函数笔记

来源:互联网 发布:优酷数据发生致命错误 编辑:程序博客网 时间:2024/06/06 16:25
#include<iostream>#include<string>using namespace std;//使用数组名时,编译器自动会将数组名转成指向第一个元素的指针//如果形参是数组的引用,编译器不会将数组形参转化为指针// int &arr[10] //arr is an array of reference//int (&arr)[10]//arr is a reference to an array of 10 intsvoid print(const int ia[10]){for(size_t i=0;i!=10;i++)cout<<ia[i]<<endl;}void print1(const int (&ia)[10]){for(size_t i=0;i!=10;i++)cout<<ia[i]<<endl;}int main(){int ia[5]={1,2,3,4,5};//print(ia);//可以通过编译,运行结果不确定//print1(ia);//通不过编译int ib[10]={1,2,3};print(ib);print1(ib);int i;cin>>i;return 0;}


 

int *matrix[10]  //array of 10 pointers

int (*matrix)[10] //pointer to an array of 10 ints

 

 

VS2008中如何给main函数传递参数呢?

在当前项目下右键选择properties->Debugging右边出现Command arguments,argc参数编译器会自动生成,argv[0]也不用自己加,编译器默认,其余参数自己添加,中间用空格隔开,比如我输入的是"green" "red" "blue" "white",则argc值为5

int main(int argc ,char *argv[]){
 int res=argc;
 string s[5];
 for(int i=0;i<5;i++){
  s[i]=argv[i];
      cout<<s[i]<<endl;
 }

}

 

 

//在形参表后面的const代表是个const member function
//const成员函数
//const改变了隐含的this形参的类型
//this限定为指向const对象的指针

 如

class Sales_item{

public:

double avg_price()const;

}

 

重载函数是具有相同的名字而形参表不同

注:如果只是返回值不同,而名字形参表相同时不能成为重载函数的,编译的时候也通不过

 

函数指针指指向函数而非指向对象的指针

 

函数指针也指向某个特定的类型,函数类型由其返回类型以及形参表确定,与函数名无关。

 

bool (*pf) (const string &,const string &)

这里*pf两侧的括号不能掉,否则变成该函数返回的是bool *类型,而不是代表pf是一个函数指针

原创粉丝点击