上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 58 下一页
摘要: 只要某值会保持不变,就应该说出来,即定义为const的。 const int *pi = nullptr; int const *pi = nullptr; // 两者等价 STL的迭代器就像T*指针,将迭代器声明为const的表示一个const指针,即T *const。如果想表示迭代器指向的东西不 阅读全文
posted @ 2020-05-11 15:38 epiphanyy 阅读(11) 评论(0) 推荐(0)
摘要: 宁可以编译器替换预处理器。因为或许#define不被视为语言的一部分,当你: #define ASPECT_RATIO 1.653 名字ASPECT_RATIO从未被编译器看到,可能在编译器处理源码前它就被预处理器移走了,于是ASPECT_RATIO可能没进入记号表(symbol table)内,当 阅读全文
posted @ 2020-05-10 13:21 epiphanyy 阅读(14) 评论(0) 推荐(0)
摘要: 所有OS都为它们所运行的程序提供服务,包括打开文件、执行新程序、分配存储区等。 操作系统可定义为一种软件,它控制计算机硬件资源,提供程序运行环境。通常将这种软件称为内核,它相对较小、位于系统核心。 内核接口被称为系统调用。公用函数库构建在系统调用接口之上,应用程序既可以使用函数库,也可以使用系统调用 阅读全文
posted @ 2020-05-10 12:16 epiphanyy 阅读(44) 评论(0) 推荐(0)
摘要: 一开始,C++只是C加上面向对象特性。今天C++是个多重范型编程语言,同时支持过程形式、面向对象形式、函数形式、泛型形式、元编程形式。 我们可以将C++看做多个次语言组成的联邦。主要的次语言有: 1.C。C++的基础。 2.Object-oriented C++。即C whit class。 3.T 阅读全文
posted @ 2020-05-09 16:31 epiphanyy 阅读(11) 评论(0) 推荐(0)
摘要: 面试题1:赋值运算符函数。如下为类型CMyString的声明,为该类型添加赋值运算符函数。 class CMyString { public: CMyString(char *pData = nullptr); CMyString(const CMyString &str); ~CMyString( 阅读全文
posted @ 2020-05-08 16:01 epiphanyy 阅读(8) 评论(0) 推荐(0)
摘要: 某些应用程序对内存分配有特殊需求,如使用new将对象放置在特定的内存空间中,为实现它,应用程序需要重载new和delete。 new实际执行步骤: 1.new表达式调用operator new(或operator new[])的标准库函数,分批一块足够大的、原始的、未命名的内存空间以便存储特定类型对 阅读全文
posted @ 2020-05-08 15:36 epiphanyy 阅读(27) 评论(0) 推荐(0)
摘要: 异常处理允许程序中独立开发的部分能够在运行时就出现的问题进行通信并做出相应处理。它能将问题的检测和解决过程分离开来,程序一部分负责检测问题的出现,解决该问题的任务传递给程序的另一部分。 通过抛出一条表达式来引发一个异常,抛出的表达式类型和当前的调用链共同决定了哪段处理代码处理该异常。 执行throw 阅读全文
posted @ 2020-05-03 22:46 epiphanyy 阅读(11) 评论(0) 推荐(0)
摘要: 面试题68:树中两个节点的最低公共祖先。 可以先得到从根节点到这两个节点的路径,之后找出最后一个公共节点,代码中的树为: #include <iostream> using namespace std; struct TreeNode { int m_nValue; vector<TreeNode* 阅读全文
posted @ 2020-04-27 13:54 epiphanyy 阅读(12) 评论(0) 推荐(0)
摘要: 面试题66:构建乘积数组。给定一个数组A[n],请构建一个数组B[n],其中B[i]=A[0]xA[1]x…xA[i-1]xA[i+1]x…xA[n-1],不能使用除法。 如没有不能使用除法的限制,可以用A中所有元素的乘积除A[i]来得到B[i],此时要注意A[i]=0的情况。 法一:连乘n-1个数 阅读全文
posted @ 2020-04-26 07:13 epiphanyy 阅读(13) 评论(0) 推荐(0)
摘要: 面试题65:不用加减乘除做加法。 5的二进制是101,7的二进制是10001。我们试着把计算分为3步: 1.各位相加但不计进位,得到的结果是10100。 2.记下进位,此例中只有最后一位有进位,结果是二进制10。 3.把前两步的结果相加,结果为10110,正好是22。 我们用位运算翻译上述步骤: 1 阅读全文
posted @ 2020-04-24 18:07 epiphanyy 阅读(7) 评论(0) 推荐(0)
上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 58 下一页