07 2021 档案
c++边界检查
摘要:(1)at()函数在被调用时,会检查下标的有效性(与容器的size()比较而不是capacity()(例如vector)),若下标有效则返回对应位置的元素,否则抛出std::out_of_range异常 (2)operator[]()函数在被调用时,不检查下标的有效性。 阅读全文
posted @ 2021-07-27 09:09 fogwizard 阅读(312) 评论(0) 推荐(0)
C++仿函数
摘要:(1)仿函数(Functor)又称为函数对象(Function Object)是一个能行使函数功能的类。仿函数的语法几乎和我们普通的函数调用一样,不过作为仿函数的类,都必须重载 operator() 运算符。因为调用仿函数,实际上就是通过类对象调用重载后的 operator() 运算符。(2)圆括号 阅读全文
posted @ 2021-07-27 08:40 fogwizard 阅读(145) 评论(0) 推荐(0)
C++ RefBase
摘要:sp/wp是模块类, 超载操作符,比如=,->, * RefBase是Android C++类的父类 weakref_impl是weakref_type的子类 网上有资料讲到RefBase可以轻易实现单例模式,想了很久还是没想明白,RefBase跟单例应该是没有直接关系的,最后想到一个重要的点,单例 阅读全文
posted @ 2021-07-23 09:18 fogwizard 阅读(704) 评论(0) 推荐(0)
c++ vector容器的尺寸问题
摘要:1.vector容器只会增长,从不自动释放空间,随着容器的使用,size可能很小但是capacity可能会很大。 2.调用vector的resize函数可以改变容器的size却改变不了容器的capacity. 3.可以使用resize和swap函数实际把一个容器的容量减小,这时需要生成一个匿名容器然 阅读全文
posted @ 2021-07-23 08:43 fogwizard 阅读(364) 评论(0) 推荐(0)
关于调用约定
摘要:调用约定主要有: 1.__cdecl c语言只能使用这个方式。 2.__stdcall 微软建立的标准。 3.__pascall pascal语言使用的方式 4.__fastcall 一直比较高效的调用方式,参数少于设置值时仅仅通过寄存器传输,多出的参数再通过寄存器传输。 阅读全文
posted @ 2021-07-22 17:21 fogwizard 阅读(34) 评论(0) 推荐(0)
C++学习之字符串类、容器
摘要:学习: 1.字符串类的名字为string,在这个类的内部,以string命名的函数均为字符串类的构造函数,这点跟其他类是一致的。 2.string相比旧式风格的char *更加安全,推荐使用。 3.字符串有find replace append substr等等成员函数帮助作字符串操作 4.C语言的 阅读全文
posted @ 2021-07-22 08:48 fogwizard 阅读(108) 评论(0) 推荐(0)
C++异常
摘要:1.C++异常必须要捕获,否则程序会异常退出。 2.异常往往跟多态一起使用,通过虚函数可以调用子类实现的异常打印信息。 3.C++所有异常的基类是exception类,exception派生出多个异常分类,分别是logic_error、runtime_error、bad_aloc,bad_excep 阅读全文
posted @ 2021-07-20 08:43 fogwizard 阅读(77) 评论(0) 推荐(0)