09 2015 档案

leetcode : Single Number
摘要:这个题一个有三道:Single Number i:给n个整数,其中有一个数只出现了一次,其他的数都出现了两次,求那个single number,这个很简单,把所有的数字做一下异或,得到的结果就是那个single dog。Single Number ii:给n个整数,其中所有的整数都出现了三次,除了一... 阅读全文

posted @ 2015-09-30 22:19 远近闻名的学渣

leetcode : Peeking Iterator
摘要:Given an Iterator class interface with methods:next()andhasNext(), design and implement a PeekingIterator that support thepeek()operation -- it essent... 阅读全文

posted @ 2015-09-30 21:20 远近闻名的学渣

STL中的迭代器与traits技术
摘要:一,STL对其中的各个组件都有一定的规范要求,即如果自己实现其中的某个组件,那么这个组件必须符合STL规范才能与其他的STL组件兼容。 上篇在提到空间配置器的时候也提到过必须实现rebind,allocate,deallocate,construct,destroy等方法,在STL中,迭代器的类型... 阅读全文

posted @ 2015-09-17 21:46 远近闻名的学渣

C++中的static关键字,全局作用域中的名字声明与定义
摘要:在C语言中,给全局作用域中的名字加上static关键字,表示这个名字只能在本文件内可见。而且C语言没有赋初值的全局变量在需要的时候被认为是声明而非定义,在连接器中,如果遇见多个强定义的名字,报重定义,如果遇见一个强定义,多个弱定义,则将强定义视为定义,弱定义当成声明,如果多个弱定义,则随机挑选一个作... 阅读全文

posted @ 2015-09-16 22:55 远近闻名的学渣

一个简单的空间配置器
摘要:STl源码剖析中的一个简单空间配置器#ifndef _JJALLOC_#define _JJALLOC_#include #include #include #include namespace JJ {template inline T* _allocate(std::ptrdiff_t size... 阅读全文

posted @ 2015-09-13 22:19 远近闻名的学渣

深入理解c++中的new与delete
摘要:一,new与delete的细节假如有下面的代码:string *sp = new string("a value");string *arr = new string[10];整个new的语句可以分为三步完成,首先,编译器使用名为operator new(operator new[])的标准库函数,... 阅读全文

posted @ 2015-09-13 22:16 远近闻名的学渣

for循环中的小技巧
摘要:for(int i; ; ++i) { dosomething; if (i == xxx) { do something unique; break; } else { do something before ++i; }}处理一个循环,需要对最后一个元素特殊处理,(如链... 阅读全文

posted @ 2015-09-13 22:16 远近闻名的学渣

c++中的命名空间
摘要:在阅读new 与delete相关的东西时,被各种命名空间全局作用域搞得有点乱,在此记录一下。一、命名空间的定义只要能出现在全局作用域中的东西就可以出现在命名空间中。通常这么定义命名空间:namespace Name { decl and define} // 无须分号,像代码块,而不是类命名空间有... 阅读全文

posted @ 2015-09-13 21:47 远近闻名的学渣

c++模板技术:模板的类型转换与类型参数推断
摘要:一、类型转换与模板类型参数模板与函数调用一样,使用传递给模板的实参来初始化模板的形参,只是这个参数是模板参数,且通常是类型参数,在模板编程中,需要有一个很重要的思维转换:非模板编程中,处理的通常是变量,变量的类型是变量的属性,而在模板编程中,处理的更多的是类型本身,我们可以将类型本身作为参数来传递,... 阅读全文

posted @ 2015-09-04 12:02 远近闻名的学渣

导航