C++编程中带#条件语句的用法和作用详解.doc

上传人:白大夫 文档编号:3250165 上传时间:2019-08-06 格式:DOC 页数:3 大小:17.50KB
返回 下载 相关 举报
C++编程中带#条件语句的用法和作用详解.doc_第1页
第1页 / 共3页
亲,该文档总共3页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C++编程中带#条件语句的用法和作用详解.doc》由会员分享,可在线阅读,更多相关《C++编程中带#条件语句的用法和作用详解.doc(3页珍藏版)》请在三一文库上搜索。

1、C+编程中带#条件语句的用法和作用详解1#和#的作用和用法C+/C+ 的宏中,#的功能是将其后面的宏参数进行字符串化操作,简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。#连接符号由两个井号组成,其功能是在带参数的宏定义中将两个子串联接起来,从而形成一个新的子串。但它不可以是第一个或者最后一个子串。#include using namespace std;#define WARN_IF(EXP) if(EXP) cerr #include header-file和表示编译器在搜索头文件时的顺序不同:表示从系统目录下开始搜索,然后再搜索PATH环境变量所列出的目录,不搜索当前目

2、录是表示从当前目录开始搜索,然后是系统目录和PATH环境变量所列出的目录。所以,系统头文件一般用,用户自己定义的则可以使用,加快搜索速度。除此外,写代码多了就会发现,有些头文件之间的相互包含是有隐藏依赖关系的,一定要加以注意。Google C+ Style Guide中也强调使用标准的头文件包含顺序可增强可读性, 避免隐藏依赖:1 相关文件(优先位置,如dir2/foo2.h)2 C系统文件3 C+ 系统文件4 其他库的.h文件5 本项目内.h文件3#if,#elif,#else,#endif用法/ structure 1#if constant_expression#else#endif/

3、structure 2#if constant_expression#elif constant_expression#endif这里的结构跟常见的if.else和if.else if.else语句类似,当#if后的条件为非零(true)时,编译#if和#else或#elif之间的代码,否则编译#else和#endif之间的代码(或者判断#elif后的条件是否非零(true),决定是否编译#elif和#endif之间的代码)。#if 1 cout tifier replacement-code#define PI 3.1415926#define ADD(x,y) (x + y)#undef顾

4、名思义,就是从该处取消前面已经定义的宏,如果标识符当前没有被定义称为一个宏名称,就会忽略该指令:/ #undef identifier#undef PI#ifdef和#ifndef含义相反,前者含义为如果定义了该宏,则编译相应代码;后者则为如果没有定义该宏,则编译相应代码。通用结构为:/* * #ifdef identifier * #else or #elif * #endif */ #define DEBUG#ifdef DEBUG cout This is a debug message. endl;#endif/ prints : This is a debug message./*

5、* #ifndef identifier * #else or #elif * #endif */ #ifndef DEBUG cout This is a debug message. endl;#endif/ prints nothing在编程时,为了避免头文件重定义,经常使用的就是#define配合条件编译解决:#ifndef MY_HEADER_FILE_H#define MY_HEADER_FILE_H/ .class MyHeaderFile / .;#endif / MY_HEADER_FILE_H除此以外,还有#pragma once的用法,只要在头文件的最开始加入这条指令就能

6、够保证头文件被编译一次。(在所有的预处理指令中,#pragma指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作,本文不多讲述。)5#line用法#line命令是用于更改_LINE_和_FILE_变量的值。_FILE_和_LINE_描述被读取的当前文件和所在行数。/ #line line-number filenameint main() #line 10 main.cpp cout _FILE_ _LINE_ endl; / prints : main.cpp 106#error用法#error会直接导致程序停止编译并输出指定的错误信息:/ #error message#ifndef VERSION#error Version number not specified.#endif/ The compiler will halt compiling and return with the specified error message: / fatal error C1189: #error : Version number not specifi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1