上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 27 下一页
  2016年7月22日
摘要: C++提供了关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。声明为explicit的构造函数不能在隐式转换中使用。 调用构造函数可以分为显示调用和隐式调用,当用赋值初始化就是显示调用,赋值初始化是隐式调用 比如: 阅读全文
posted @ 2016-07-22 19:26 已停更 阅读(317) 评论(0) 推荐(0)
摘要: 语法: 注意一般用auto表达类型。不需要修改时常用引用类型 例子: 阅读全文
posted @ 2016-07-22 19:25 已停更 阅读(909) 评论(0) 推荐(0)
摘要: 就像大家更熟悉的const一样,volatile是一个类型修饰符(type specifier)。它是被设计用来修饰被不同线程访问和修改的变量。如果不加入volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器失去大量优化的机会。 作用 volatile的作用是: 作为指令关键字 阅读全文
posted @ 2016-07-22 11:40 已停更 阅读(214) 评论(0) 推荐(0)
摘要: 在c++98/03中,只有普通数组和POD类型才能用列表初始化,比如 在C++11中,适用性被大大增加。比如: vector,map等容器的列表初始化 new动态数组的列表初始化 函数返回值的列表初始化 使用初始值列表作为赋值语句的右侧对象 阅读全文
posted @ 2016-07-22 09:47 已停更 阅读(301) 评论(0) 推荐(0)
摘要: final关键字 限制某个类或结构体不能被继承 直接对类声明: 或这类内有final函数,类可以被继承,但是final函数不能被覆盖,注意final函数必须是虚函数 override关键字 如果子类函数想要覆盖基类函数可以加上override关键字来检查基类是否有此方法,如果不加编译器是检查不出来的 阅读全文
posted @ 2016-07-22 08:43 已停更 阅读(350) 评论(0) 推荐(0)
  2016年7月21日
摘要: 以前都是用0来表示空指针的,但由于0可以被隐式类型转换为整形,这就会存在一些问题。关键字nullptr是std::nullptr_t类型的值,用来指代空指针。nullptr和任何指针类型以及类成员指针类型的空值之间可以发生隐式类型转换,同样也可以隐式转换为bool型(取值为false)。但是不存在到 阅读全文
posted @ 2016-07-21 21:32 已停更 阅读(970) 评论(0) 推荐(1)
摘要: 树是查找二叉树 也就是树是排序过的,位于左子树上的结点都比父结点小,而位于右子树的结点都比父结点大。我们只需要从根结点开始和两个结点进行比较。如果当前结点的值比两个结点都大,则最低的共同父结点一定在当前结点的左子树中。如果当前结点的值比两个结点都小,则最低的共同父结点一定在当前结点的右子树中。 树不 阅读全文
posted @ 2016-07-21 20:28 已停更 阅读(846) 评论(0) 推荐(0)
摘要: 需要考虑的问题都已在程序中注释 带测试的完整代码: 1 #include<iostream> 2 using namespace std; 3 4 bool isValid; 5 6 int StrToInt(const char* str) 7 { 8 isValid = false; 9 //不 阅读全文
posted @ 2016-07-21 16:54 已停更 阅读(325) 评论(0) 推荐(0)
  2016年7月20日
摘要: C11已有关键字final 首先想到的是在C++ 中,子类的构造函数会自动调用父类的构造函数。同样,子类的析构函数也会自动调用父类的析构函数。要想一个类不能被继承,我们只要把它的构造函数和析构函数都定义为私有函数。那么当一个类试图从它那继承的时候,必然会由于试图调用构造函数、析构函数而导致编译错误。 阅读全文
posted @ 2016-07-20 15:55 已停更 阅读(1182) 评论(0) 推荐(0)
摘要: 题目:写一个函数,求两个整数的之和,要求在函数体内不得使用+、-、×、÷。 异或解决当前位,与和左移解决进位 阅读全文
posted @ 2016-07-20 15:41 已停更 阅读(222) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 27 下一页