2010/11/9

2010/11/9

关键字:函数

零散知识点

1.      主函数main的返回值是有一定意义的,返回0代表正常运行,其他大部分返回值则表示失败.返回码的意义跟机器有关,cstdlib头文件中定义了两个预处理变量,分别表示程序运行成功和失败:

#define EXIT_SUCCESS    0

#define EXIT_FAILURE    1

2.      如果main函数没有显式返回值,则编译器会隐式的插入返回0的语句.

3.      函数返回值用于初始化在调用函数处创建的临时对象(temporary object),在求解表达式时,如果需要一个地方存储其运算结果,编译器会创建一个没有命名的对象,这就是临时对象。用函数返回值初始化临时对象与用实参初始化形参的方法是一样的。

int AddInt(int i, int j)

{

      return i + j;       //返回临时变量假设为temp(初始化为i+j的值)

//return i;         //返回临时变量假设为temp(初始化为i的值)

}

 

int _tmain(int argc, _TCHAR* argv[])

{

      int i = 0, j = 1;

      i = AddInt(i , j);  //temp的值复制给i

 

        return EXIT_SUCCESS;

}

4.      千万不要返回局部变量的引用。同样也不要返回局部变量的指针.

5.      主函数main不能调用自身.

6.      只有当定义它的函数被调用时才存在的对象称为自动对象(automatic object).与之对比的是static局部变量.

内联函数

正常函数调用要比内联函数多做很多工作:

调用前保存寄存器,并在返回时恢复

复制实参

程序转向一个新位置执行

 

简单的内联函数如:

inline int AddInt(int i, int j)

{

    return i + j;

}

 

int _tmain(int argc, _TCHAR* argv[])

{

    int i = 0, j = 1;

    i = AddInt(i , j);  //两者等价,编译时展开

    i = (i + j);        //两者等价

 

内联函数标识inline对于编译器来说只是一个建议,编译器可以选择忽略。

内联函数应该放在头文件中

类的成员函数

1.      成员函数有额外的、隐含的形参

   class A

{

public:

        void Func(int param);

};

int _tmain(int argc, _TCHAR* argv[])

{

        A a;

    a.Func(0);          //编译器会编译成A::Func(&a, 0);

2.      常量成员函数

class A

{

public:

        void Func(int param) const{}//等价于void Func(const A *this指针, int param)

};

const的作用是将this指针指定为const类型

const对象只能调用const函数,因为const属性只能增强,不可放松限制.所以非const对象可以调用非constconst函数,但是const对象不能调用非const成员函数.

3.    没有形参的构造函数即为默认构造函数,无论是由编译器定义的还是程序员定义的。其中由编译器创建的默认构造函数通常称为合成的默认构造函数(synthesized default constructor)

合成的默认构造函数一般适用于仅包含类类型成员的类。只会生成代码调用类类型成员的默认构造函数,内置类型变量不做任何处理。所以当类中包含内置类型的成员变量时,需要显示定义默认构造函数。

但是一旦显示定义了任何形式的构造函数(包含拷贝构造函数)编译器就不会生成合成的构造函数。相反,如果没有定义任何形式的构造函数,编译器也不一定会“合成“合成的默认构造函数。

4种情况下会合成,详见《深度探索C++对象模型》。无需深入。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
(1)根据所提供的日期,提取月份 (2)请对2010年各地区各产品的销售情况进行分析(图表展现) (3)请对各个业务员的业绩进行分析(图表展现) (4)请对各季度的业绩进行分析(图表展现),同时给出商家一些可以提高销售业绩的建议 日期 地区 业务员 品名 销量(个) 单价(元) 销售额(元) 月份 2010/1/6 A 张三 订书机 95 25 2375 2010/1/23 B 王五 钢笔 50 35 1750 2010/2/9 B 周六 钢笔 36 35 1260 2010/2/26 B 周六 笔记本 360 15 5400 2010/3/15 C 田七 订书机 600 25 15000 2010/4/1 A 李四 铅笔 930 0.5 465 2010/4/18 B 周六 订书机 740 25 18500 2010/5/5 B 周六 钢笔 960 35 33600 2010/5/22 C 田七 钢笔 530 35 18550 2010/6/8 A 李四 笔记本 410 15 6150 2010/6/25 B 王五 订书机 940 25 23500 2010/7/12 A 张三 铅笔 280 0.5 140 2010/7/29 A 张三 订书机 81 25 2025 2010/8/15 A 张三 钢笔 35 35 1225 2010/9/1 B 周六 钢笔 65 35 2275 2010/9/18 A 李四 笔记本 93 15 1395 2010/10/5 B 周六 订书机 28 25 700 2010/10/22 A 李四 铅笔 640 0.5 320 2010/11/8 A 李四 订书机 870 25 21750 2010/11/25 B 周六 钢笔 620 35 21700 2010/12/12 B 周六 钢笔 550 35 19250 2010/12/29 A 李四 笔记本 74 15 1110 2010/1/15 B 王五 订书机 46 25 1150 2010/2/1 B 王五 铅笔 870 0.5 435 2010/2/18 A 张三 订书机 32 25 800 2010/3/7 C 赵大 钢笔 70 35 2450 2010/3/24 B 王五 钢笔 50 35 1750 2010/4/10 B 王五 钢笔 66 35 2310 2010/4/27 A 李四 笔记本 96 15 1440 2010/5/14 B 周六 笔记本 53 15 795 2010/5/31 B 周六 订书机 80 25 2000 2010/6/17 B 周六 订书机 27 25 675 2010/7/4 A 李四 铅笔 620 0.5 310 2010/7/21 B 周六 铅笔 550 0.5 275 2010/8/7 B 周六 订书机 42 25 1050 2010/8/24 C 田七 订书机 76 25 1900 2010/9/10 B 王五 钢笔 69 35 2415 2010/9/27 C 赵大 钢笔 76 35 2660 2010/10/14 C 赵大 钢笔 57 35 1995 2010/10/31 B 王五 钢笔 47 35 1645 2010/11/17 B 王五 笔记本 110 15 1650 2010/12/4 B 王五 笔记本 94 15 1410 2010/12/21 B 周六 笔记本 28 15 420 excel
07-17

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值