文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C++-Primer-Function

C++-Primer-Function

时间:2010-08-07  来源:Forge09151111

#include <iostream>
using namespace std;
void reSet(int *ip) {//形参是整形指针
     *ip = 0;
}
void reSetcp(const int* ip) {//形参是整形指针指向const对象
     //*ip = 4;
}
void reSetpc(int  *const ip) {//形参是const整形指针
     *ip = 0;
}
void reSetr(int &ip, int &iq) {//整形引用
     int tmp = ip;
     ip = iq;
     iq = tmp;
}
int main() {
    int i = 42;
    int j = 43;
    int *p = &i;
    const int* q = &j;
    cout<<"i: "<<*p<<'\n';
    reSet(p);
    cout<<"i: "<<*p<<endl;
    reSetpc(p);
    cout<<"i: "<<*p<<endl;
    reSetr(i, j);
    cout<<i<<endl<<j<<endl;
    return 0;
}
1.函数形参实际是实参的拷贝, 如果实参过大,可以使用指针或者引用形参,指针形参只是实参地址的拷贝,但是只能影响实参的赋值, 使用引用可以避免大型对象的复制。
2.如果不希望拷贝或者实参的更改, 可以使用const修饰形参。 3.函数不能直接传递数组,所以将形参写成数组的形式如 int[],int[10], 看做指向数组元素的指针。 4.函数传递数组时任何对于数组的长度都是假设的如 void paintValues(int ia[10]){} 应为编辑器只会检查数组形参关联实参的类型而不会检查长度。 5.但是如果数组形参定义为引用时, 将对实参类型和长度进行检查: #include <iostream>
using namespace std;
void printValues(int (&arr)[10]) {//引用数组形参 长度为10
     for(int i=0; i<10; i++) {
             cout<<arr[i];
     }
}
int main() {
    
    int k[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
   
    printValues(k);
    
    return 0;
}
0123456789 6.在函数中使用static局部变量可以在调用函数后不会被撤销   #include <iostream>
#include <conio.h>
using namespace std;
int countCalls() {
     static int size = 0;
     return ++size;
}
int main() {
    for(int i=0; i<10; i++) {
        cout<<countCalls();
    }
    getch();
    return 0;
}
12345678910
7.函数重载时编辑器将对形参进行分析,类型和数量将是区分重载函数的特征 int lookup(const Account &acct) int lookup(const Account&) 以上2个函数的声明实际是重复声明,应为形参不会被检查命名如同 int lookup(const Phone&) int lookup(const Telno&) 函数重载时,必须考虑作用域,如 void paint(const string &); void fooBar(int ival) {   void paint(int); } 在编辑器检查时 一旦检查到fooBar中的paint函数将屏蔽其他paint函数。 其次,在重载时, 编辑器将参考类型装换的'优劣规则'如 void ff(int); void ff(short); ff('a'); char类型(8)可以提升为int型(16)但是相比提升为short型(8)为'优'所以将调用ff(int)。  
 
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载