返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >c++代码各种注释示例详解
  • 932
分享到

c++代码各种注释示例详解

2024-04-02 19:04:59 932人浏览 独家记忆
摘要

目录1、前言2、正文(危)1.以代码例子为例(1)代码段1(2)代码段2(3)代码段3(4)代码段42.其它的注释方法(1)条件编译(2)if条件1、前言 今天想带大家来了解一下注释

1、前言

今天想带大家来了解一下注释,当然,是C语言中的注释,这个大家都并不会感到陌生,但是,当有一天面试官问你?小伙子啊,你能给我讲讲什么是注释吗?大家应该都会懵的吧,毕竟注释有什么可讲的呢?但是事实真的如此吗?今天就由我来带大家了解一下注释吧!

2、正文(危)

1.以代码例子为例

(1)代码段1

首先来几段注释的例子大家来判断下对错(从语法角度和是否实现注释的效果来看)


#include <stdio.h>
int main()
{
	int  i; 
	char* s = "abcdefgh //hijklmn";
	//Is it a\
	valid comment? 
	int j; 
	return 0;
}

当大家把这段代码放在vs上去运行的时候,报错的代码只有最后一行代码,即int j;我们就知道这行代码是有语法错误的,那么其它的代码就完全没有问题了吗?当然,其它的代码没有了语法错误,但是它们的注释效果真正实现了吗?

补充知识:注释被替换是在预处理阶段实现的,注释被替换,本质是替换成空格,上述报错的那一句本质上应该是 in t i;编译器自然会报错,报错是在预处理阶段进行语法检查时出错的,出现了语法错误。

这个是编译器上的标识图,上面的几行代码虽然没有报语法错误,但是有的代码却没有真正实现其注释的效果,下面我们将一行一行的带大家来进行分析!

首先看第一行:int      i;经过替换后。中间的转换为空格,可见并没有语法错误,且能够达到注释的目的。

接下来看第二行代码,这个地方大家可能会感到疑惑了,我命名加了注释符的啊,但是为什么没有达到我想要的效果呢?这个地方的原因是因为//是在字符串中,此时的第一个/被理解成了转义字符,而第二个则真正被理解成了/,至于为什么第二个/没有被理解成转义字符呢?因为第一个/防止了后面的字母被转义,所以后免的一个/才没有被理解成是转义字符,好像扯的有点远了。这个地方需要告诉大家的是在字符串中是无法进行注释的,因为在字符串中的/有特殊的含义!

有的朋友就好奇了,既然c++风格的注释行不通,那么C语言的风格能否行得通呢?答案是不能,下面给大家证明一下吧!

很明显,依旧没有成功行注释,原因同上。

接下来来看第三行代码,我们可以得出一个结论,C++风格的注释是可以续行的!

(2)代码段2


#defineIDreplacementlist
//这段代码指的就是用replacement list替换ID

当这段代码放到VS上是这样的:

上述两段代码都能编译通过,这说明# 和 define之间可以带空格。(因为注释最终要被空格所代替)

//是C++风格的注释,而则是C语言风格的注释,前者可以一次写多个,不过从第一个//往后就都是注释的内容。

(3)代码段3



*/

 这段代码在vs中是下面这样的:

 注意:不能嵌套注释。进行匹配。

在这段代码中,最终第一行和第三行中的*/进行匹配,剩下最后一个*/没有与之进行配对的。

(4)代码段4


int x = 10 ;
int y = 10;
int z = 5;
int *p = &z;
y = x/*p;

上面这种代码一定要注意,乍一看没有什么问题,但是接下来我们放到编译器上看一下:

这种代码一定要注意,/*容易被编译器认为是注释,所以会报错。

解决方案有两种:

1.y = x / *p;即在/后面加一个空格,不要让/*连在一起。

2.y = x/(*p);(推荐用第二种)。

2.其它的注释方法

(1)条件编译


#include <stdio.h>
#include <windows.h>
#define MONEY 1(只有定义了前面的宏,ifdef到endif中间的这段代码才能够正常运行,未定义则跳过)
int main()
{
#ifdef MONEY
	printf("for test1\n"); //test1
	printf("for test2\n"); //test2
#endif
	system("pause");
	return 0;
}

(2)if条件

可以通过if(0)来进行注释,但并不推荐。

到此这篇关于c++代码各种注释示例详解的文章就介绍到这了,更多相关c++代码注释内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: c++代码各种注释示例详解

本文链接: https://lsjlt.com/news/159300.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • c++代码各种注释示例详解
    目录1、前言2、正文(危)1.以代码例子为例(1)代码段1(2)代码段2(3)代码段3(4)代码段42.其它的注释方法(1)条件编译(2)if条件1、前言 今天想带大家来了解一下注释...
    99+
    2024-04-02
  • C++常用的11种设计模式解释及示例代码详解
    目录工厂模式单例模式适配器模式外观模式代理模式桥接模式模板方法模式策略模式观察者模式责任链模式c++常用的设计模式包括单例模式、工厂模式、抽象工厂模式、适配器模式、装饰者模式、代理模...
    99+
    2023-02-07
    C++常用的11种设计模式 C++常用设计模式
  • SpringBoot各种注解详解
    目录一、注解列表二、注解详解一、注解列表 @SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoCon...
    99+
    2022-12-27
    SpringBoot注解 SpringBoot注解的作用
  • C语言打印各种图案实例代码
    1、线段图案 #include<stdio.h> int main() { int a = 0; while(~scanf("%d",&a))...
    99+
    2024-04-02
  • Numpy的各种下标操作的示例代码
    目录技术背景二维矩阵的取法取单行和单个元素下标的list和tuple格式区分冒号的使用现存的list与numpy.array不相兼容的取法两个冒号的组合用法用None作扩维高维矩阵的...
    99+
    2024-04-02
  • UnityInputFiledTMP属性和各种监听示例详解
    目录实践过程Input Field SettingsControl SettingsInputField(TMP)事件监听实践过程 Input Field Settings Fon...
    99+
    2023-01-09
    Unity InputFiled TMP属性监听 Unity InputFiled
  • java实现的各种排序算法代码示例
    折半插入排序折半插入排序是对直接插入排序的简单改进。此处介绍的折半插入,其实就是通过不断地折半来快速确定第i个元素的插入位置,这实际上是一种查找算法:折半查找。Java的Arrays类里的binarySearch()方法,就是折半查找的实现...
    99+
    2023-05-31
    java 排序 算法
  • c#怎么注释多行代码
    c# 中注释多行代码有两种方法:1. 块注释 (/) 用于注释代码块;2. 行注释 (//) 用于注释单个代码行。 C# 中如何注释多行代码 在 C# 中,有两种主要方法可以注释多行代...
    99+
    2024-05-12
    c# 编译错误
  • iOS中各种UI控件属性设置示例代码
    //视图已经加载完了,可以进行ui的添加了 - (void)viewDidLoad { [superviewDidLoad]; // Do any additional se...
    99+
    2022-05-29
    ios ui 控件
  • C#中[]的几种用法示例代码
    目录一、导入外部DLL函数二、结构体时表明属性总结一、导入外部DLL函数 如[DllImport(“kernel32.dll”)]这叫引入kernel32.d...
    99+
    2023-01-28
    c# [] c#中[]的使用
  • C++const的各种用法详解
    目录const的基本概念:一、const修饰基本数据类型 1.const修饰一般常量及数组  2.const修饰指针变量*及引用变量& ...
    99+
    2023-05-17
    C++ const用法介绍 C++ const用法 C++ const
  • c#怎么注释掉一段代码
    在 c# 中注释代码块有两种方法:使用 / 和 / 或 #region 和 #endregion。两种方法都可注释多行代码,但后者还允许在编辑器中折叠注释块。注释不会被编译器执行,可用于...
    99+
    2024-05-12
    c#
  • Python实现各种排序算法的代码示例总结
    在Python实践中,我们往往遇到排序问题,比如在对搜索结果打分的排序(没有排序就没有Google等搜索引擎的存在),当然,这样的例子数不胜数。《数据结构》也会花大量篇幅讲解排序。之前一段时间,由于需要,我...
    99+
    2022-06-04
    示例 算法 代码
  • Python代码实现各种酷炫功能的示例分析
    这篇文章主要介绍了Python代码实现各种酷炫功能的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、生成二维码二维码又称二维条码,常见的二维码为QR Code,QR...
    99+
    2023-06-29
  • c++怎么把一段代码注释掉
    c++ 提供以下两种代码注释方法:行注释:以 // 开始,持续到行尾。块注释:以 / 开始,以 / 结束,可跨越多行。 C++ 注释代码的方法 C++ 提供了两种方法来注释代码: 1....
    99+
    2024-05-14
    c++
  • c语言怎么注释一段代码
    c 语言中注释一段代码的方法分两种:单行注释:以 // 开头,注释到行尾。多行注释:以 / 开头,以 / 结尾,注释直到结束。 C 语言注释一段代码的方法 注释是用于向程序中添加说明性...
    99+
    2024-05-14
    c语言
  • 关于代码注释的理解
    本篇内容介绍了“关于代码注释的理解”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在一次研发沟通会上,大家关...
    99+
    2024-04-02
  • Android EditText详解及示例代码
        EditText在API中的结构   java.lang.Object   android.view.View   android.widget.T...
    99+
    2022-06-06
    edittext 示例 Android
  • Android Service详解及示例代码
    Android Service 详细介绍: 1、Service的概念 2、Service的生命周期 3、实例:控制音乐播放的Service 一、Service的概念 ...
    99+
    2022-06-06
    android service service 示例 Android
  • Android SQLite详解及示例代码
    在Android中使用SQLite数据库的入门指南,打算分下面几部分与大家一起分享, 1、什么是SQLite 2、Android中使用SQLite 一、什么是SQLi...
    99+
    2022-06-06
    示例 SQLite Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作