Item 2: Prefer consts, enums, and inlines to #defines
尽量使用常量、枚举和内联函数,代替#define。我们知道#define定义的宏会在编译时进行替换,属于模块化程序设计的概念。
宏是全局的,面向对象程序设计中破坏了封装。因此在C++中尽量避免它!
接着我们具体来看#define造成的问题。
不易理解
众所周知...
分类:
编程语言 时间:
2015-08-20 15:22:46
收藏:
0 评论:
0 赞:
0 阅读:
298
Item 3: Use const whenever possible
尽量使用常量。不需多说,这是防卫型(defensive)程序设计的原则, 尽量使用常量限定符,从而防止客户错误地使用你的代码。
常量的声明
总结一下各种指针的声明方式吧:
char greeting[] = "Hello";
char *p = greeting; ...
分类:
编程语言 时间:
2015-08-20 15:22:36
收藏:
0 评论:
0 赞:
0 阅读:
185
默认情况下 activity 启动的时候先把屏幕刷成白色或黑色,再绘制界面,绘制界面或多或少有点延迟,这段时间中你看到的就是白屏,显然影响用户体验,怎么消除呢?
在 Activity theme 设置style 即可
true
true
false
@android:color/transparent
...
分类:
其他 时间:
2015-08-20 15:22:26
收藏:
0 评论:
0 赞:
0 阅读:
222
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:22:15
收藏:
0 评论:
0 赞:
0 阅读:
275
【1】 前提:在自己不知道某个具体的异常名字,但是却要捕捉具体的异常。try:
"""error code"""
……
except Exception, exc:
print exc.__class__
……...
分类:
编程语言 时间:
2015-08-20 15:21:56
收藏:
0 评论:
0 赞:
0 阅读:
183
在OC基础(十一)中我们讨论了类别和非正式协议的奇妙之处。在使用非正式协议时,可以只实现你想要获得响应的方法。也不必在对象中声明任何内容来表示该对象可用作委托对象。所有这些任务可以用最少的代码完成。
下面来学习正式协议。
1. 正式协议
与非正式协议一样,正式协议包含了方法和属性的有名称列表。但与非正式协议不同的是,正式协议需要显示地采用。采用(adopt)协议的办法是在类的@in...
分类:
其他 时间:
2015-08-20 15:21:46
收藏:
0 评论:
0 赞:
0 阅读:
140
题意:链接方法: BSGS+快速幂+EXGCD解析:BSGS…题解同上..代码:#include
#include
#include
#include
#include
#define MOD 140345
using namespace std;
typedef long long ll;
ll t...
分类:
其他 时间:
2015-08-20 15:21:36
收藏:
0 评论:
0 赞:
0 阅读:
207
七夕到了,脱单必备啊!!!!...
分类:
其他 时间:
2015-08-20 15:21:26
收藏:
0 评论:
0 赞:
0 阅读:
240
使用系统提供的创建子线程的方法,自动开启.对于耗时的工作,我们需要将工作交给子线程去做.主线程来执行界面的加载和处理用户的交互.这样我们就可以提高用户的体验度
NSLog(@"thread = %@ isMainThread = %d",[NSThread currentThread],[NSThread isMainThread]);
[NSThread detachNewThr...
分类:
编程语言 时间:
2015-08-20 15:21:16
收藏:
0 评论:
0 赞:
0 阅读:
171
当我们在用C++做底层驱动的时候,经常会遇到内存不足的警告,究其原因,往往是因为内存出现溢出,泄露或者越界等原因。那么他们之间有什么联系吗?
内存溢出(out of memory)
是指程序在申请内存时,没有足够的内存空间供其使用。
内存泄漏(memory leak)
是指程序在申请内存后,无法释放已申请的内存空间,占用有用内存。
注:内存泄漏最终会导致内存溢出
简单理解,内...
分类:
编程语言 时间:
2015-08-20 15:21:09
收藏:
0 评论:
0 赞:
0 阅读:
451
首先需要知道自己android内核的版本,我们android系统是android 4.0.1,内核版本为2.6.29.由于我们在下载android源代码的时候默认是不带内核源码的,因为他内置了一个编译好的zImage内核镜像,所以,如果要编译内核源码的时候,我们需要下载我们当前版本的内核源码.注意,这里的内核源码并不是Linux官网的内核源码,而是谷歌定制的内核.我们首先需要在android源代码根...
分类:
移动平台 时间:
2015-08-20 15:20:56
收藏:
0 评论:
0 赞:
0 阅读:
143
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:20:48
收藏:
0 评论:
0 赞:
0 阅读:
241
在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:20:41
收藏:
0 评论:
0 赞:
0 阅读:
169
MFC 选项选择: 静态库编译
加入头文件:
#pragma once
#ifdef WIN32
#include
//定义宏,保证在debug模式下,导入opencv_xxxd.lib,release模式下导入opencv_xxx.lib
#ifdef _DEBUG
# define CC_CVLIB(name) "opencv_" name CC_CVVERSION...
分类:
编程语言 时间:
2015-08-20 15:20:27
收藏:
0 评论:
0 赞:
0 阅读:
138
SURF (Speed Up Robust Features)是SIFT改进版也是加速版,提高了检测特征点的速度,综合性能要优于SIFT。
下面先逐次介绍SURF的原理,最后解析opencv上SURF源码。
转载请注明出处:http://blog.csdn.net/luoshixian099/article/details/47778143
1.积分图像
SURF是对积分图像进行操作,从而...
分类:
其他 时间:
2015-08-20 15:20:16
收藏:
0 评论:
0 赞:
0 阅读:
281
使用spirit能很方便的解析自定义的语法规则,在他的文档中也说明了spirit与regex还有其他库的不同点。灵活,伸缩性好,可以用来搭建小的语法解析器也可以用来开发大型编译器等等。定义语法规则之前首先要了解一下Extended Backus-Normal Form (EBNF)
EBNF可以定义一下生成合法字符串的公式,例如:例1:
rule1 = "0" | "1" | "2" | "3"....
分类:
其他 时间:
2015-08-20 15:20:06
收藏:
0 评论:
0 赞:
0 阅读:
205
Android基础入门教程——4.3.2 BroadcastReceiver庖丁解牛
本节引言:
1.本地广播
1)核心用法:
2)注意事项:
3)代码示例(别处登陆踢用户下线):
2.Android 4.3以上版本监听开机启动广播的问题解决:
3.常用的系统广播总结:
4.本节小结:...
分类:
移动平台 时间:
2015-08-20 15:19:56
收藏:
0 评论:
0 赞:
0 阅读:
340
第一种:
public List getThirdsysPermissionRest(String url,ThirdsysFuncpDTO thirdsysFuncpDTO){
RestTemplate restTemplate = new RestTemplate();
// 查询条件
HttpEntity requestEntity = new HttpEntity(
...
分类:
编程语言 时间:
2015-08-20 15:19:46
收藏:
0 评论:
0 赞:
0 阅读:
882
加速计是整个IOS屏幕旋转的基础,依赖加速计,设备才可以判断出当前的设备方向,IOS系统共定义了以下七种设备方向:
typedef NS_ENUM(NSInteger, UIDeviceOrientation) {
UIDeviceOrientationUnknown,
UIDeviceOrientationPortrait, // Device o...
分类:
移动平台 时间:
2015-08-20 15:19:36
收藏:
0 评论:
0 赞:
0 阅读:
236
从网路获取图片,使用AsyncTask异步通信。
异步代码如下:
public void addTask(String url) {
new AsyncTask() {
@Override
protected Bitmap doInBackground(String... params) {
...
分类:
其他 时间:
2015-08-20 15:19:25
收藏:
0 评论:
0 赞:
0 阅读:
147