c++
mlnotes
这个作者很懒,什么都没留下…
展开
-
C++内存区域
1.静态存储区 全局变量,static2.堆 new malloc3.栈 函数内部局部变量原创 2013-08-01 00:48:52 · 588 阅读 · 0 评论 -
C++输出不同进制的数字
#include #include //using std::cout;using namespace std;int main(){ cout }这种方法不能对二进制进行输出原创 2013-08-01 00:48:45 · 1171 阅读 · 0 评论 -
Longest Palindromic Substring leetcode
Manacher's Algorithm#include #include using namespace std; string longestPalindrome(string s){ // Start typing your C/C++ solution below // DO NOT write int main() function int size = s.siz原创 2013-08-01 00:56:40 · 914 阅读 · 0 评论 -
Regular Expression Matching LeetCode
这题主要采用递归的方式解决,这样代码比较容易理解bool isMatch(const char *s, const char *p){ if(p[0] == '*') return false; else if(p[0] == 0) return s[0] == 0; else if(p[0] == '.') { if(p[1] =原创 2013-08-01 00:56:42 · 1163 阅读 · 0 评论 -
面向对象的特征
1.封装2.继承3.多态:允许将子类型的指针赋值给父类型的指针原创 2013-08-01 00:48:50 · 607 阅读 · 0 评论 -
C/C++优先级
运算符结合性() [] -> .自左向右! ~ ++ -- - (type) * & sizeof自右向左* / %自左向右+ -自左向右>自左向右 >=自左向右== !=自左向右&自左向右^自左向右|自左向右&&自左向右||自左向右? :自右向左assignments自右向左,自左向右1.优先级最高者其实并不是真正意义上的运算符,包括:数组下标,函数调用操作符, 各结构成员选择符。他们是原创 2013-08-01 00:48:47 · 708 阅读 · 0 评论 -
C++ new
C++ 中,new其实有三种含义: 1.new operator2.operator new3.placement new我们最常用的用法是A *a = new A();这里的new就是new operator,它一共包含了三步:1.分配内存2.调用A的构造函数3.返回内存指针第一步,分配内存,实际就是使用operator new,效果和malloc类似,直接调用的话,如下:a = operato原创 2013-08-01 00:52:39 · 643 阅读 · 0 评论 -
编程提示 I
编程提示 I整理自《高质量编程指南——C++/C语言(第三版)》,林锐,2007第四章【提示4-1】: 要区分初始化和赋值的不同,前者发生在对象(变量)创建的同时,而后者是在对象创建后进行的。要区分什么是编译器的责任,什么是程序员的责任,不可错把程序员的责任推给编译器,否则结果可能出乎意料!例如全局变量的初始化、数据类型的隐式转换、类的隐含成员的初始化等都是编译器的责任,而局部变量的初始原创 2013-08-01 00:49:01 · 743 阅读 · 0 评论 -
C++问题集合
class String{public: String(); String(const String &another); //复制构造函数 String& operator =(const String &rhs); //赋值构造函数}; 1.C++调用C代码,extern "C" 是为了结局编译器重命名问题2原创 2013-08-01 00:48:54 · 657 阅读 · 0 评论 -
C/C++ 内置宏
__func__ 获取函数的名字(C99的一部分,但并非所有的编译器都支持)原创 2014-04-28 21:10:18 · 1554 阅读 · 0 评论