`
kofsky
  • 浏览: 201717 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

C++两个小技巧

阅读更多

从新新那里学来的,记录一下,感觉还挺不错,哈哈

一。灵活的在注释与代码间转换

注释风格:

/*

code here

//*/

 

代码风格:

//*

code here

//*/

 

看一下两者之间,相差什么呢?只差一个斜杠/,也就是说,只要删一个斜杠,就可以把中间这段代码注释掉,增加一个斜杠,就可以使中间这段代码有效。

在写一些测试代码时会比较有用。

二。写个宏定义,交换两个变量 a, b 的值

#define SWAP(a,b) { int tmp = a; a = b; b = tmp; }

 

测试代码

int b = 5;

if( a < b )

    SWAP(a,b);

else

    std::cout<<a<<"::"<<b<<"\n";
编译一下,啊,挂了,提示:没有匹配 if 的非法 else 想一想,为什么呢?还真的没想出来,汗。不过,既然提示没有匹配的else,明明存在的else,为什么没检测到呢?加个括号试试?
if( a < b )

{

	SWAP(a,b);

}

else

	std::cout<<a<<"::"<<b<<"\n";
现在编译就OK了。新新解释了一下,才恍然大悟。没加括号时,等效代码如下:
if( a < b )

	SWAP(a,b)

	;

else

	std::cout<<a<<"::"<<b<<"\n";
倘若去掉宏后面的分号,也是可以的:
if( a < b )

	SWAP(a,b)

else

	std::cout<<a<<"::"<<b<<"\n";
但事实上,c系列程序员都习惯在每个语句后面加一个分号,如果将宏定义修改为如下形式:
#define SWAP(a,b) do{ int tmp = a; a = b; b = tmp; } while(0)

然后使用的时候再在后面加个分号,则既符合习惯,也不会出错了。

汗,这个也能想到,强悍

三。怎样判定一个数是否为2的整数次幂?

 

 
分享到:
评论

相关推荐

    用c++比较两个字符串的大小

    ### 使用C++比较两个字符串的大小 在C++编程语言中,比较字符串是常见的操作之一。本篇文章将基于提供的代码示例,详细解释如何通过指针和`for`循环来比较两个字符串的大小。 #### 代码解读 首先,让我们详细了解...

    C++写的两个小程序

    标题 "C++写的两个小程序" 暗示了我们有两个基于C++编程语言编写的简单应用,它们可能是解决特定问题或实现特定算法的程序。在C++这种强大的面向对象编程语言中,这样的小程序通常用于练习编程技巧,提高对语言特性...

    用c++语言编写的比较两个数的程序

    在C++编程环境中,比较两个数是一项基础但重要的任务,特别是在算法实现、数据处理和条件判断等场景。本文将深入探讨如何在Visual C++环境下,使用C++语言编写比较两个数的程序,并介绍相关的C++基础知识。 首先,...

    C和C++相互调用的小技巧

    本文将深入探讨如何在C和C++之间进行相互调用,以及在实现这一过程中的小技巧。 ### C和C++相互调用的基础知识 #### 外部链接规范(extern "C") C和C++拥有不同的名称解析规则,这导致了即便函数名相同,在不同...

    C++ 链表实现两个一元多项式相加

    首先,我们需要定义一个链表节点结构,它包含两个字段:系数(coefficient)和指数(exponent)。在C++中,这可以通过定义一个结构体或类来实现: ```cpp struct Node { int coefficient; int exponent; Node* ...

    C++版本将两个有序链表合并为一个新的有序链表并返回原理及代码实现

    ### C++ 版本将两个有序链表合并为一个新的有序链表并返回原理及代码实现 在计算机科学中,链表是一种常见的数据结构,广泛应用于各种算法和数据处理任务中。本文将详细介绍如何使用C++语言来实现一个功能,即合并...

    12个C/C++趣味小程序

    每个小程序都会涉及到特定的编程概念和技术,通过实践这些项目,开发者可以逐步掌握C/C++的核心特性,并提高解决问题的能力。这些趣味小程序不仅有趣,而且是巩固理论知识、提升编程技巧的绝佳途径。

    C++ 编程技巧(详细)

    ### C++编程技巧详解 #### 一、动态内存分配与释放:`new`与`delete` 在C++中,`new` 和 `delete` 是语言内置的关键字,用于动态内存的分配与释放。它们提供了更高级别的内存管理功能,与C语言中的 `malloc` 和 `...

    基于C++实现斗地主小游戏

    斗地主是一种在中国非常流行的扑克牌游戏,通常需要三名玩家参与,但在这个单机版本中,游戏可能设计为用户与两个计算机AI对手进行对战。 首先,我们要理解C++作为编程语言的角色。C++是一种强大的、面向对象的编程...

    C++程序设计小案例

    再者,"八皇后问题"是著名的算法问题,它要求在8×8的棋盘上放置8个皇后,使得任意两个皇后都不能在同一行、同一列或同一斜线上。解决这个问题需要用到回溯算法,这是一种试探性的解决问题的方法,如果当前选择无法...

    c++ 冰壶小游戏

    玩家可以通过下载并试玩来体验这个小游戏,尽管它可能存在一些粗糙之处。 【标签】"C++冰壶小游戏"这一标签明确了游戏的主要开发语言是C++,这是一种常用且强大的编程语言,尤其适用于系统级编程和高性能应用。选择...

    C++实现小游戏贪吃蛇

    在本文中,我们将深入探讨如何使用C++编程语言来实现一款经典的小游戏——贪吃蛇。C++是一种强大且灵活的面向对象编程语言,适合开发各种类型的应用程序,包括游戏。贪吃蛇游戏的实现涉及到了许多核心的C++概念和...

    c++星座判断和配对打分程序

    这个小程序的核心功能是根据用户输入的生日信息来确定其星座,并且根据两个星座之间的兼容性进行配对打分。下面将详细介绍相关知识点。 1. **C++编程基础**: C++是一种静态类型的、编译式的、通用的、大小写敏感...

    C++简单迷你小游戏

    例如,可以创建一个`Player`类和`Computer`类,每个类有自己的选择方法,然后在主程序中创建这两个对象,通过调用它们的方法来进行游戏。这样的设计有助于理解面向对象编程的精髓——数据封装和行为封装。 总的来说...

    前辈的c++50个建议

    例如,参加开源项目或自己动手实现一个小功能。 ### 13. 英语能力很重要 英语是计算机科学的主要交流语言之一。提高英语水平可以帮助你更好地获取国外最新的研究成果和技术资料。 ### 14. 对于XX与YY的选择,根据...

    小学生C++趣味编程 C++源代码(2021.11.22).rar

    4. **实践园1 最大公约数.cpp**:这节课涉及数学运算,可能教授如何计算两个数的最大公约数,需要用到循环和数学逻辑。 5. **第24课 体质指数BMI.cpp**:体质指数(BMI)的计算涉及到浮点数运算和输入输出,可以...

    Visual C++开发工具与调试技巧

    首先在工作区的 FileView 中选中该类的.h 和.cpp 文件,按 delete 删除,然后在文件管理器中将这两个文件删除,再运行 ClassWizard,这时出现是否移走该类的提示,选择 remove 就可以了。 9. 如何将在 workspace 中...

    Visual C++ 6.0调试技巧

    首先在工作区的 FileView 中选中该类的.h 和.cpp 文件,按 delete 删除,然后在文件管理器中将这两个文件删除,再运行 ClassWizard,这时出现是否移走该类的提示,选择 remove 就可以了。 九、如何将在 workspace ...

    一些C++小程序

    `template &lt;typename T&gt; void swap(T& a, T& b) {...}`是一个交换两个变量值的通用函数。 12. **异常处理**:使用try-catch块进行错误处理,捕获和处理运行时可能出现的异常。 在“我的C程序”这个压缩包中,可能...

Global site tag (gtag.js) - Google Analytics