文章分类 - C++
摘要:转载:https://blog.csdn.net/u014465639/article/details/72860004
阅读全文
摘要:函数对象的使用: class MyHash { public: void operator()(int id) { cout << id << endl; } }; int main() { // 方法1 MyHash mh; mh(1); // 方法2 MyHash{}(2); // 方法3 My
阅读全文
摘要:如果类没有定义析构函数,那么只有在类内带的成员对象有析构或者类的父类有析构的情况下,编译器才会自动合成一个析构函数来,否则析构函数不会被合成。与是否含有虚接口无关。 如果编译器合成出一个析构函数,其唯一任务就是调用父类或者成员对象的析构函数,如果我们提供了一个析构函数,那么编译器会扩张它,使他调用父
阅读全文
摘要:转载:https://www.cnblogs.com/qq78292959/archive/2013/01/12/2857243.html 纯虚类有以下特征: 含有一个纯虚函数的类,叫做纯虚类。纯虚类不可以定义对象。 我个人觉得这个说法应该就是把纯虚类的主要特点说明了: 1、只要有一个纯虚函数。就称
阅读全文
摘要:vector作为函数返回值 在实际的操作中,我们经常会碰到需要返回一序列字符串或者一列数字的时候,以前会用到数组来保存这列的字符串或者数字,现在我们可以用vector来保存这些数据。但是当数据量很大的时候使用vector效率就比较低了,还有千万别返回引用, 因为你是再函数中定义的vector。一般要
阅读全文
posted @ 2020-03-13 17:11
ren_zhg1992
摘要:// 没有使用C++11特性 vector<string> testSplit(string srcStr, const string& delim) { vector<string> vec; int pos= srcStr.find(delim.c_str()); while(pos != st
阅读全文
posted @ 2020-03-13 17:07
ren_zhg1992
摘要:C98成员初始化:1、就地初始化 等号 静态常量整形或枚举成员 (注意:浮点型不行)2、静态非常量成员必须在.cpp中初始化 3、初始化列表: 1. 数据成员为const类型 2. 数据成员为引用类型 3. 成员类没有默认的拷贝构造 4. 派生类的构造函数初始化列表必须调用基类的构造函数 C11成员
阅读全文
摘要:在C++中,虚函数是动态绑定的,但函数的缺省参数却是在编译时就静态绑定的。这意味着你最终执行的函数是一个定义在派生类,但使用了基类中的缺省参数值的虚函数。为了避免虚函数重载时,因参数声明不一致给使用者带来的困惑和由此导致的问题,规定所有虚函数均不允许声明缺省参数值。示例:虚函数display缺省参数
阅读全文
摘要:一般格式: void fun(int x, ...) 参数x后面为可变参数区。 下面举个栗子,学习一下可变参数的使用,顺便提一下典型的32位程序在64位下的错误。 可变参数,会从参数x,后将可变参数列表放入到arglist中, 然后用va_arg去列表里面取,后面类型就是取出来之后转换成的类型。 实
阅读全文
摘要:子类继承了父类的virtual函数,孙子类继承了子类的这个函数,那么孙子类就继承了virtual。 看代码: class base { public: base() = default; virtual ~base() = default; virtual void foo(int (&)[4])
阅读全文
摘要:举个例子: #include <stdio.h> #include <stdlib.h> #include <functional> using FUNC = std::function<int(int, int)>; int foo(int a, int b) { printf("%d\n", a
阅读全文
摘要:有时候为了编译通过,会写一些打桩的接口,桩接口中的从参数都是不用的,所以对于不用的参数习惯是注释掉,或者省略掉,但是最近这样做确遇到了一个错误 error: parameter name omitted这里参考了http://blog.sina.com.cn/s/blog_5f35912f0100v
阅读全文
摘要:百度知道上的用法 // function::target example #include <iostream> // std::cout, std::boolalpha #include <functional> // std::function, std::plus, std::minus in
阅读全文
摘要:static_cast只能进行基本类型之间的转换吗? #include <iostream> using namespace std; typedef struct { int a; } Base; typedef struct _Drive: public Base { int stSMacDB;
阅读全文
摘要:指针相减,结果可能不如你想的那样!!! #include <stdio.h> int main() { int a = 10; int b = 11; printf("a:%p\n",&a); printf("b:%p\n",&b); int* p1 = &a; int* p2 = &b; prin
阅读全文
摘要:转载:https://blog.csdn.net/Young__Fan/article/details/79938879 输出:、 总结: 子类与父类不是同一个a,子类会把父类的a继承过来
阅读全文
摘要:// 1、如果子类中不再定义一个静态成员,那么父类和子类公用一个静态成员a; // 如果子类中有定义了一遍,那么各用各的,互不影响。 // 2、非静态成员,子类不会继承父类的成员值。 // 3、注意:C++中,静态成员函数不能被声明为virtual函数 #include using namespace std; class Base { public: static int a; v...
阅读全文
摘要:/*什么时候使用静态成员? 当需要多个对象公用某个成员时什么时候使用静态成员函数? 需要不生成对象就取访问静态成员时 //静态成员的会在构造函数前完成初始化,在构造函数里再初始化一次会覆盖掉原来的值。 使用静态成员函数的好处:1、如果需要把某个成员函数作为钩子注册给别人使用,又不想把this指针传过
阅读全文
摘要:#include using namespace std; void fun1(int &n) { int a = 10; n = a; } int main() { //A a; short b = 0; fun1(b); // error cout << b << endl; return 0; }
阅读全文
摘要:做回调注册时,一般使用静态成员函数,否则会报错,就算报错也还需要把this指针传过去
阅读全文

浙公网安备 33010602011771号