const关键字是C++新引进的关键字,目标是用于定义常量,避免C语言中使用宏定义出现的边际问题,并且const是类型安全的,即const定义的是不可修改值的变量,它是有类型的,但是宏替换只是简单的进行字符串的替换,容易出现边际问题,造成错误。但是const的用法并不仅仅在此,因此整理一下,加深理解
分类:
编程语言 时间:
2014-08-13 17:53:56
阅读次数:
162
标准库在头中定义了两个模板函数std::min() 和 std::max()。通常用它可以计算某个值对的最小值和最大值。可 惜在 Visual C++ 无法使用它们,因为没有定义这些函数模板。原因是名字min和max与中传统的min/max宏定义有冲突。为了解决 这个问题,Visual C++ 定义...
分类:
编程语言 时间:
2014-08-13 14:27:56
阅读次数:
456
/**
* 功能:宏处理定义
* 时间:2014年8月1日09:07:33
* 作者:cutter_point
*/
#include
#include
using namespace std;
#define PRINT(STR, VAR) cout<<STR "=" <<VAR<<endl; //这里宏定义之后,所有PRINT("STR", VAR)
//都会被cout之后的东西所覆盖...
分类:
编程语言 时间:
2014-08-12 22:15:24
阅读次数:
208
我们在VS环境中开发的时候,会遇到很多宏定义,这些宏可以应用到代码中,或用于编译、工程选项等设置,总之是我们开发中必不可少的工具,有必要做一个总结。有些宏是C/C++定义的,有些宏是VC环境预定义的。1、C/C++中的宏__cplusplus如果当前编译器为C++,该值为1。__DATE__当前源码...
分类:
其他好文 时间:
2014-08-12 16:25:54
阅读次数:
166
一.四步设置GPIO串口RCC->APB2ENR|=1<<3;//使能PORTB时钟GPIOB->CRL&=0XFF0FFFFF;//位初始化GPIOB->CRL|=0X00300000;//PB.5推挽输出GPIOB->ODR|=1<<5;//PB.5输出高二.三种方法设置io口电平1.宏定义方式:#defineBEEPPBout(8)BEEP=0;2.GP..
分类:
其他好文 时间:
2014-08-12 13:56:14
阅读次数:
223
UIAlertView使用
基本用法
// 创建一个UIAlertView并显示出来
UIAlertView *alertview = [[UIAlertView alloc] initWithTitle:aTitle message:msg delegate:nil cancelButtonTitle:str otherButtonTitles:nil];
[alertview show];...
分类:
其他好文 时间:
2014-08-11 10:07:51
阅读次数:
202
Windows消息宏,定义在winuser.h里,消息编号从 0x0000 到0x0400,下面给出一部分:1 #define WM_NULL 0x00002 #define WM_CREATE 0x0001...
宏就是文字展开,实际中可以展开写出来发现错误。
6.1 不能忽视宏定义中的空格
6.2 宏并不是函数
宏定义一个函数时,
1、要把每个参数用括号括起来
2、同时也要把整个表达式括起来。
3、要确保宏中的参数没有副作用
#define max(a,b) ((a)>(b)?(a):(b))
max(big,x[i++]),这时++有可能被计算两次...
分类:
其他好文 时间:
2014-08-09 16:00:18
阅读次数:
204
宏: #define MAX(x,y) (((x) init()) \ { \ pRet->autorelease(); \ return pRet; \ } \ else \ { \ delete pRet; \ p...
分类:
编程语言 时间:
2014-08-08 20:52:56
阅读次数:
238
1 选择工程的Target -> Build Settings -> Preprocessor Macros.如图,默认 Debug项,是“DEBUG=1”.2 在程序中设置全局宏定义在程序的 ApplicationName-Prefix.pch 文件中,加入如下,很简单12345#ifdef DE...
分类:
移动开发 时间:
2014-08-07 21:36:50
阅读次数:
240