在C++11中,允许非静态成员变量的初始化有多种形式:初始化列表; 使用等号=或花括号{}进行就地的初始化。可以为同一成员变量既声明就地的列表初始化,又在初始化列表中进行初始化,只不过初始化列表总是看起来“后作用于”非静态成员。也就是说,初始化列表的效果总是优先于就地初始化的。#include .....
分类:
编程语言 时间:
2014-08-05 13:32:59
阅读次数:
230
Python的静态方法和类成员方法都可以被类或实例访问,两者概念不容易理清,但还是有区别的:1)静态方法无需传入self参数,类成员方法需传入代表本类的cls参数;2)从第1条,静态方法是无法访问实例变量的,而类成员方法也同样无法访问实例变量,但可以访问类变量;3)静态方法有点像函数工具库的作用,而...
分类:
编程语言 时间:
2014-08-04 21:26:27
阅读次数:
309
C++中静态成员函数不能用static修饰的原因:
static在c++中的第五种含义:用static修饰不访问非静态数据成员的类成员函数。这意味着一个静态成员函数只能访问它的参数、类的静态数据成员和全局变量。
不能用const的原因:一个静态成员函数访问的值是其参数、静态数据成员和全局变量,而这些数据都不是对象状态的一部分。而对成员函数中使用关键字const是表明:函数不会修改该函数访...
分类:
其他好文 时间:
2014-08-04 18:03:07
阅读次数:
211
function模板类和bind模板函数,使用它们可以实现类似函数指针的功能,但却却比函数指针更加灵活,特别是函数指向类 的非静态成员函数时。std::function可以绑定到全局函数/类静态成员函数(类静态成员函数与全局函数没有区别),如果要绑定到类的非静态成员函数,则需要使用std::bind...
分类:
其他好文 时间:
2014-08-04 13:51:07
阅读次数:
217
http://www.cplusplus.com/forum/articles/10627/1.hpp文件hpp文件可以使用template函数和class静态函数(不含静态成员)a)不可包含全局对象和全局函数由于hpp本质上是作为.h被调用者include,所以当hpp文件中存在全局对象或者全局函...
分类:
编程语言 时间:
2014-08-03 17:49:55
阅读次数:
225
静态变量与非静态变量的区别如下: 1.内存分配 静态变量在应用程序初始化时,就存在于内存当中,直到它所在的类的程序运行结束时才消亡; 而非静态变量需要被实例化后才会分配内存。 2.生存周期 静态变量生存周期为应用程序的存在周期; 非静态变量的存在周期取决于实例化的类的存在周期。 3.调用方式 静态变...
分类:
其他好文 时间:
2014-08-01 13:14:31
阅读次数:
194
/*样例1: class Parent{ int num = 3; } class Child extends Parent{ int num = 4; }*//*样例2:class Parent{}class Child extends Parent{ int num...
分类:
编程语言 时间:
2014-07-28 14:36:43
阅读次数:
214
/*** 栈(Stack) :存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放 在常量池中)。 堆(heap):存放所有new出来的对象。* 静态存储:存放静态成员(static定义的)。 常量池(...
分类:
编程语言 时间:
2014-07-27 22:45:19
阅读次数:
320
单例模式目的:Ensure a class only has one instance, and provide a global point of access toit.保证一个类仅有一个实例,并提供一个访问它的全局访问点。C++实现在类中,定义一个私有静态成员对象;将构造函数也定义为私有的,保...
分类:
其他好文 时间:
2014-07-27 10:25:12
阅读次数:
235
《C++ Primer Plus》学习笔记7
第12章 类和动态内存分配
1、动态内穿和类
1)静态数据成员在类声明中声明,在包含类方法的文件中初始化,初始化时使用作用域操作符来指出静态成员所属的类,但如果静态成员是整型或枚举型const,则可以在类声明中初始化。
2)new分配足够的内存的时候一般都是这种形式
len = strlen(s);
str = new char[le...
分类:
编程语言 时间:
2014-07-21 23:29:04
阅读次数:
388