我是坚定的Vim党,因为和命令行的集成如此之好,Vim可以解决任何问题。 然而在这个世界上,即便是最好用的工具也是需要配置的。本文就来打造一个适合写C++的Vim编辑器!
基础设置
稍微熟悉Vim的小伙伴都会知道这个文件~/.vimrc,如同绝大多数的Unix软件,Vim也是用基于文本的配置文件。
当前用户的Vim配置便存储在这个文件当中,该文件的每一行便是一个配置项(functi...
分类:
编程语言 时间:
2015-08-20 15:25:40
阅读次数:
248
标准距离在空间统计里面也是一个常用的方法,因为它可提供有关中心周围要素分布的单一汇总度量值(此方法类似于通过标准差测量统计平均值周围数据值的分布)。...
分类:
其他好文 时间:
2015-08-20 15:23:40
阅读次数:
220
Item 1: View C++ as a federation of languages
最初,C++只是C语言加上一些面向对象的特性,所以C++的原名是“C with Classes”。 现在的C++已经逐渐成熟,成为一门多范式的程序设计语言(multiparadigm programming language)。同时支持过程式、面向对象、函数式、泛型编程,以及元编程。
C++...
分类:
编程语言 时间:
2015-08-20 15:24:03
阅读次数:
176
Item 2: Prefer consts, enums, and inlines to #defines
尽量使用常量、枚举和内联函数,代替#define。我们知道#define定义的宏会在编译时进行替换,属于模块化程序设计的概念。
宏是全局的,面向对象程序设计中破坏了封装。因此在C++中尽量避免它!
接着我们具体来看#define造成的问题。
不易理解
众所周知...
分类:
编程语言 时间:
2015-08-20 15:23:06
阅读次数:
176
Item 3: Use const whenever possible
尽量使用常量。不需多说,这是防卫型(defensive)程序设计的原则, 尽量使用常量限定符,从而防止客户错误地使用你的代码。
常量的声明
总结一下各种指针的声明方式吧:
char greeting[] = "Hello";
char *p = greeting; ...
分类:
编程语言 时间:
2015-08-20 15:24:53
阅读次数:
192
默认情况下 activity 启动的时候先把屏幕刷成白色或黑色,再绘制界面,绘制界面或多或少有点延迟,这段时间中你看到的就是白屏,显然影响用户体验,怎么消除呢?
在 Activity theme 设置style 即可
true
true
false
@android:color/transparent
...
分类:
其他好文 时间:
2015-08-20 15:24:14
阅读次数:
131
alert(Math.round(100*Math.random()));//算数运算
alert(isNaN("abc"));//数值或者数值字符串返回false,否则为true
var a = "hello,world";
alert(a.length);//javascript调用new Stirng(a)的方式转换为对象,这个对象继承了字符串的方法...
分类:
编程语言 时间:
2015-08-20 15:25:33
阅读次数:
148
【1】 前提:在自己不知道某个具体的异常名字,但是却要捕捉具体的异常。try:
"""error code"""
……
except Exception, exc:
print exc.__class__
……...
分类:
编程语言 时间:
2015-08-20 15:25:03
阅读次数:
271
在OC基础(十一)中我们讨论了类别和非正式协议的奇妙之处。在使用非正式协议时,可以只实现你想要获得响应的方法。也不必在对象中声明任何内容来表示该对象可用作委托对象。所有这些任务可以用最少的代码完成。
下面来学习正式协议。
1. 正式协议
与非正式协议一样,正式协议包含了方法和属性的有名称列表。但与非正式协议不同的是,正式协议需要显示地采用。采用(adopt)协议的办法是在类的@in...
分类:
其他好文 时间:
2015-08-20 15:22:59
阅读次数:
153
题意:链接方法: BSGS+快速幂+EXGCD解析:BSGS…题解同上..代码:#include
#include
#include
#include
#include
#define MOD 140345
using namespace std;
typedef long long ll;
ll t...
分类:
其他好文 时间:
2015-08-20 15:24:28
阅读次数:
146
使用系统提供的创建子线程的方法,自动开启.对于耗时的工作,我们需要将工作交给子线程去做.主线程来执行界面的加载和处理用户的交互.这样我们就可以提高用户的体验度
NSLog(@"thread = %@ isMainThread = %d",[NSThread currentThread],[NSThread isMainThread]);
[NSThread detachNewThr...
分类:
编程语言 时间:
2015-08-20 15:23:30
阅读次数:
130
当我们在用C++做底层驱动的时候,经常会遇到内存不足的警告,究其原因,往往是因为内存出现溢出,泄露或者越界等原因。那么他们之间有什么联系吗?
内存溢出(out of memory)
是指程序在申请内存时,没有足够的内存空间供其使用。
内存泄漏(memory leak)
是指程序在申请内存后,无法释放已申请的内存空间,占用有用内存。
注:内存泄漏最终会导致内存溢出
简单理解,内...
分类:
编程语言 时间:
2015-08-20 15:21:29
阅读次数:
151
首先需要知道自己android内核的版本,我们android系统是android 4.0.1,内核版本为2.6.29.由于我们在下载android源代码的时候默认是不带内核源码的,因为他内置了一个编译好的zImage内核镜像,所以,如果要编译内核源码的时候,我们需要下载我们当前版本的内核源码.注意,这里的内核源码并不是Linux官网的内核源码,而是谷歌定制的内核.我们首先需要在android源代码根...
分类:
移动开发 时间:
2015-08-20 15:21:08
阅读次数:
236
import java.util.*;
public class SplitString {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int M = sc.nextInt();
String []str = new String[M];
for(int...
分类:
其他好文 时间:
2015-08-20 15:21:33
阅读次数:
139
在c语言中每一个变量都有两个属性一个是值,一个是址。比如:int a = 2; 变量a的值是2,变量a的地址,可以用&取地址操作符获取,即&a。
因此以C语言的函数传递中具备两种方式传递参数,一种是传址,一种传值。比如:
void f1(int v) { ; } //函数f1
void f2(int *p) { ; } //函数f2
f1(a) ;...
分类:
编程语言 时间:
2015-08-20 15:23:09
阅读次数:
159