首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我应该在C++中评论声明或定义吗?

在C++中,评论声明或定义是可以的,但是需要注意评论的方式和位置。

在C++中,可以使用 // 或者 /**/ 来进行单行或多行评论。例如:

代码语言:cpp
复制
// 这是一个单行评论
int x = 10; // 这是一个尾注释

/* 这是一个多行评论
   跨越多行 */

对于声明或定义,可以在其前面或后面添加评论,例如:

代码语言:cpp
复制
// 这是一个整型变量的声明和定义
int y = 20;

// 这是一个指针变量的声明和定义
int* p = &y;

需要注意的是,评论不应该被用来定义代码的结构和逻辑,而应该用来解释代码的功能和意图。此外,评论应该始终保持最新,以便与代码同步。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云CVM:腾讯云CVM是一种计算服务,可以帮助用户快速创建、部署和管理虚拟机。
  • 腾讯云CLB:腾讯云CLB是一种负载均衡服务,可以帮助用户实现流量分发和负载均衡。
  • 腾讯云COS:腾讯云COS是一种存储服务,可以帮助用户快速存储和管理数据。

以上是我的回答,如果您有任何问题,请随时问我。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

理解c++声明定义

如何理解声明定义我们经常说的判断语句,如“它是一只猫”,其实包含着“它存在”这一前提。理解的“声明”是为了说明“它存在”,而“定义”是为了说明“它是什么”。...为什么要区分声明定义这与程序的编译运行过程有关。编译过程更关心“是否被声明”,而链接,运行过程更关心“是否被定义”。...为什么静态成员变量类内声明,类外定义想起“白马非马”的故事,世界上只有具体的“白马”,“黑马”,不存在抽象的“马”。前提1:对程序而言,运行只有具体的对象,而没有抽象的类。...具体的对象需要内存,需要地址,需要被定义;抽象的类不需要内存,不需要地址,不需要被定义只需要被声明。...前提2:类中有一种神奇的成员,静态成员,它是脱离对象的,所以不可能通过对象被定义,但它又是类的一员,只跟随类被声明过。结论:静态成员未被定义过,需要手动在类外定义

54710

C++变量声明定义的规则

声明定义分离 Tips:变量能且仅能被定义一次,但是可以被多次声明。 为了支持分离式编译,C++定义声明区分开。...定义i, 这样做抵消了extern的作用 static 当我们在C/C++用static修饰变量函数时,主要有三种用途: 局部静态变量 外部静态变量/函数 类内静态数据成员/成员函数 其中第三种只有...C++中有,我们后续在面向对象程序设计再探讨,这里只讨论静态局部/全局变量。...,不同文件匿名命名空间中定义的名字对应不同实体 如果在一个头文件定义了匿名命名空间,则该命名空间内定义的名字在每个包含该头文件的文件对应不同实体 namespace { int i; //...2. constexpr是对指针的限制 在constexpr声明定义了一个指针,限定符constexpr仅对指针有效,与指针所指对象无关: const int *pi1 = nullptr;

2.3K10

C++编译与链接(0)-.h与.cpp定义声明

C++中有的东西需要放在可以在.h文件定义,有的东西则必须放在.cpp文件定义,有的东西在不同的cpp文件的名字可以一样,而有的则不能一样 那么究竟哪些东西可在头文件定义声明,哪些东西又必须在....cpp定义声明呢?...cpp定义的变量的名字与类型不同一样 常量 1、如果const常量是用常量表达式进行初始化的,则可以在.h声明定义 2、如果const变量是用非常量表达式进行初始化的,那么该变量应该在cpp文件定义...2、非常量表达式进行初始化的,那么该变量应该在cpp文件定义,而在.h文件中进行声明。...需要到头文件以外去定义它) 类的静态的常量整形数据成员 ------------------ 可以 特殊说明 模板 模板函数与模板类的声明与实现必须放在一个文件 至于为什么会这样,与C++的编译和链接

3.5K70

C++定义结构体类作为关联容器的键

概述 STL像set和map这样的容器是通过红黑树来实现的,插入到容器的对象是顺序存放的,采用这样的方式是非常便于查找的,查找效率能够达到O(log n)。...但是我们自定义的结构体或者类,无法对其比较大小,在放入到容器的时候,就无法正常编译通过,这是set/map容器的规范决定的。...要将自定义的结构体或者类存入到set/map容器,就需要定义一个排序的规则,使其可以比较大小。...最简单的办法就是在结构体或者类中加入一个重载小于号的成员函数,这样在存数据进入set/map时,就可以根据其规则排序。 2....实例 在这里就写了一个简单的例子,将自定义的一个二维点存入set/map,并查找其中存入的数据: #include #include #include #include

2.1K20

python把局部变量赋值给全局变量_局部变量不赋初值

有的,难道你不觉得奇怪?报错是变量未初始化,而不是变量未定义。 题目中函数内 c= c+1 就已经表明了声明的变量 c 是属于局部变量的。...按理说,先执行赋值语句右侧,而此时 c 并没有声明应该在全局环境命中才对啊。所以想象的结果应该是局部变量 c = 2 而全局变量的 c 保持原值。 但是,这只都是想当然。...于是,这就导致了报错信息是变量未初始化而不是变量未定义。 ====== 分割线 ========= 题主评论要求: 关于变量的初始化,定义,创建这三者关系,能帮忙疏导一下理解?...第二行 v 从栈获取,也就是 value 的值。第三行 ns 是从帧对象获得局部变量环境(大多数情况下是个字典类型,如果帧环境不在函数,取得的是全局变量环境)。...回到本地中,本地变量的符号表会保存在静态信息里面,猜测搜索变量时有优先去静态信息得到信息,来更快的知道变量应该是在局部还是全局查找吧。

2.3K10

一个C#开发者重温C++的心路历程

然后在test.cpp定义变量test=100;如下: #include "pch.h" #include "test.h" int test = 100; 接着在test.h文件声明下test...比如,想在定义的结构体里使用自身的类型,要怎么定义呢? 因为在C++里,变量定义必须按照先声明后使用的【绝对顺序】,那么,在定义时就使用自身类型,编译器会提示错误。...那么,变量定义不是必须按照先声明后使用的【绝对顺序】?为什么这里,又在定义前,可以定义别名了呢?这不是矛盾了吗? 不知道,反正,C++就是这样。。。就这么屌。。。...这样很麻烦,没错,按说,微软应该在编译器解决这个问题,让他*kpointer不用被扩起来就可以使用。...C++创建类,需要在头文件声明函数,然后在.cpp文件,做函数实现。 但是这样做,明显是跨文件声明类了,但C++又没有类似partial关键字让俩个文件合并编译,那么怎么办呢?

82230

Julia 生产环境就绪了吗?我们跟项目维护者聊了聊

认为它并非生产环境就绪的必备特性(很多被视为生产环境就绪的脚本语言都没有提供这样的选项),但是在很多场景下,具备这样的特性是很棒的。 现在,澄清一下,哪些是“生产环境就绪”定义不应该包含的内容。...InfoQ:从 Hacker News 上的一些评论来看,您的声明似乎有些争议,尤其将 Julia 作为一种生成环境就绪的通用语言方面。您想补充一些其他的观点?...您认为它是 Python、R 其他语言的替代方案,或者至少在科学计算和数据科学领域是这样的? Kamiński:在这里,觉得最好引用一下 Julia 开发人员调查 的第 8 页到第 11 页。...主要讨论第 8 页中最重要的三件事: 速度:这方面相对比较简单直接。任何成熟的包,如 TensorFlow PyTorch,都需要高性能,它们大多数都是使用 C++ 编写的。...而 Python 只是对 C++ 核心的一层薄薄的封装。现在,再看一下 Flux.jl Knet.jl,它们本质上是使用纯 Julia 实现的。

99230

函数指针

,提示编译器遇到此变量和函数时在其他模块寻找其定义。...第二,当extern不与"C"在一起修饰变量函数时,如在头文件: extern int g_Int; 它的作用就是声明函数全局变量的作用范围的关键字,其声明的函数和变量可以在本模块活其他模块中使用...也就是说B模块(编译单元)要是引用模块(编译单元)A定义的全局变量函数时,它只要包含A模块的头文件即可,在编译阶段,模块B虽然找不到该函数变量,但它不会报错,它会在连接时从模块A生成的目标代码中找到此函数...,给各个产品提供一个指针函数定义的变量,然后各个产品将自己的实现函数挂接在上面,这样就屏蔽了各个产品的差异,甚至有些产品可以不挂接,那么就判断一下,如果没挂接,就给一个默认的实现就ok了(这部分在下面代码没体现...; 注意这里是声明,不是定义,所以不会分配内存,声明只是表示这里现在有了这种类型(就像是说这里有一个int一样)

1K60

C++:04---内联函数

1~5条小语句) 内联函数定义建议放在头文件,但是不强制要求 总结:内联机制用于优化规模较小,流程直接,频繁调用的函数 5.显式内联、隐式内联 隐式内联:结构体的函数在结构体声明定义...”,宏在C++基本是被废了,在书《高质量程序设计指南——C++/C语言》这样解释到: ?...但是编译器是否将它真正内联则要看 Foo函数如何定义 内联函数应该在头文件定义,这一点不同于其他函数。...在头文件中加入修改 inline 函数时,使用了该头文件的所有源文件都必须重新编译。 8. 慎用内联 “如果所有的函数都是内联函数,还用得着“内联”这个关键字?...要当心构造函数和析构函数可能会隐藏一些行为,如“偷偷地”执行了基类成员对象的构造函数和析构函数。所以不要随便地将构造函数和析构函数的定义放在类声明。”

1.2K40

C++之函数重载

那么如果我们希望几个函数在同一个域内并且函数名相同,有什么办法?这就涉及到我们今天要了解的内容——函数重载。...---- 一、函数重载 函数重载:是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数 类型 类型顺序)不同,常用来处理实现功能类似数据类型不同的问题...C语言和C++的函数修饰规则不同: C语言形成的符号表的函数名,只有用户自定义的函数名而没有其他的修饰。...C++函数的函数名不仅包含用户自定义的函数名,还使用函数的参数对函数名进行了修饰。因此两个同名,但是参数部分有区别的函数,在C++的函数调用是可以被区分开的。因此,C++支持函数重载。...本文作者目前也是正在学习C++相关的知识,如果文章的内容有错误或者不严谨的部分,欢迎大家在评论区指出,也欢迎大家在评论区提问、交流。

20810

Simple Windows Service in C++

本文是来自CodeProject的一篇名为Simple Windows Service in C++的译文,原文地址为:Simple Windows Service in C++,作者为:Mohit...背景 C++中找到的Windows服务示例并不多。使用MSDN编写这个非常基本的Windows服务。...刚创建了一个空的Win32控制台应用程序。 在我们开始主入口程序点之前,我们需要声明一些将在整个服务中使用的全局变量。为了更加面向对象,你始终可以创建一个表示服务的类,并使用类成员代表全局变量。...你希望将任何初始化推迟到你接下来定义的服务入口点。...11/29/2012:改进了代码并修复了文章示例代码的一个拼写错误。 2015年11月11日:根据用户评论更新了有关如何安装服务的详细信息。

3.7K20

构建实战机器学习系统的10点经验(二)

首先我们要确定Quora对于“好”答案的定义是什么。幸运的是,我们有一份详细的Quora答案策略(Quora Answer Polices)描述。...比如,你可以选择使用高度优化的C++代码,然后让机器学习研究人员只通过日志数据库的数据进行实验。 现实情况是,上述的两种选择都不起作用。它们效率不高,耗费资源,最终导致至少一种模式不能正常工作。...现代数据科学家(“古老”数据科学家是这样?) 有一个不同的问题,数据科学团队如何融入机构之中。许多公司已经克服正在克服这点。...要注意,这三个阶段并不需要花费很长的时间,它们应该在迭代和敏捷过程的上下文中尽快发生。 基于我所看过,听过以及经历过的案例,的建议是数据科学家负责第一和第三部分,工程师负责第二部分。...非常愿意倾听不同的观点和方法,请在评论评论

51830

有auto为什么还要decltype ?详解decltype的用法

==decltype表达式== 2.1 表达式做右值 2.2 表达式能做左值 3. decltype 函数 3.1 decltype(f()) 3.2 decltype(f) C++ 11 decltype...的主要作用 auto和decltype推导类型的区别 在介绍了auto的用法及其实际编程的应用,既然auto可以推导变量的类型,为什么C++11还引进decltype类型说明符呢?...关于这一点,C++ Primer这样写道:有时希望从表达式的类型推断出要定义的变量的类型(这一点auto可以做到),但是不想用该表达式的值初始化变量(auto依赖这一点才能推导类型)。...;而decltype是直接通过某一个表达式来获取数据类型,从而定义d的类型。...参考: 《C++ Primer 第5版》2.5.3 以上就是decltype的详细介绍。如果有疑问,欢迎评论区下方留言;本人水平有限 ,如有错误,也欢迎在评论区下方批评指正。

78910

C++ 实用指南

但这有那么可怕?面对这样的情况,你能做些什么? 首先,我们来看看你在 C++ 可能会遇到的一些问题。...你的公司是立即更新到最新的 C++ 版本还是等待几年? 特性的混淆 / 复杂性 只需阅读这条评论: CallMeDonk: 喜欢 C++。...这是的首选语言,但你必须承认,它对值类的“大杂烩”实现是很怪异的。包括在内的大多数程序员更喜欢简单的、定义明确的语言结构,而不是奇怪和复杂的语法。 C++ 在各个方面都很清晰?...在 C( C++98/03),你只需要知道左值与右值,现在它有点微妙了。 不过,问题是你是否需要记住它? 一些不错的评论: c0r3ntin: 这很复杂,但不是每天都能遇到。...例如,即使像谷歌这样的公司也限制了 C++ 的特性,比如说他们不使用异常。 如果你不是库开发人员,你可能不会遇到自定义移动运算符移动构造器的麻烦。

50720

什么使DevOps的代码审查良好?

就像技术的任何事物一样,实现代码审查的方式有很多,并且在如何操作代码审查以及代码审查的目标是什么方面可能会有些混乱。来开始看看团队应该在代码审查中进行审查。 谁应该审查代码?...在深入探讨标题战争之前,首先来定义“代码审查”的含义。 代码审查是一次对话 花一点时间考虑一下代码审查的意义。它是一个手动门,以确保将代码质量传递到你的主线分支?...想大家可以说,我们已经看到更多的高级开发人员使用了拙劣的措辞,这暗示着代码审查和围绕代码更改的对话的语气不当。许多开源社区正试图通过行为准则声明解决这一问题。...几年前,当我在代码审查过程对合并申请功能进行评论提出问题时,注意到了此行为。当时这真的让很不高兴,因为试图进行诚实的对话,而不是试图暗示开发人员做错了任何事情需要更改代码。...更重要的是,他们还感到有能力在代码审查质疑和评论更多高级开发人员所做的更改。 不去在意职称 通过讨论谁应该在代码审查中进行审查以及什么是代码审查,应该清楚一件事:初级和高级职称的意义很小。

94362

Simple Windows Service in C++

本文是来自CodeProject的一篇名为Simple Windows Service in C++的译文,原文地址为:https://www.codeproject.com/Articles/499465...背景 C++中找到的Windows服务示例并不多。使用MSDN编写这个非常基本的Windows服务。  ...刚创建了一个空的Win32控制台应用程序。 在我们开始主入口程序点之前,我们需要声明一些将在整个服务中使用的全局变量。为了更加面向对象,你始终可以创建一个表示服务的类,并使用类成员代表全局变量。...你希望将任何初始化推迟到你接下来定义的服务入口点。...11/29/2012:改进了代码并修复了文章示例代码的一个拼写错误。 2015年11月11日:根据用户评论更新了有关如何安装服务的详细信息。

73710

C++从入门到精通——const与取地址重载

前言 类的6个默认成员函数:如果一个类什么成员都没有,简称为空类。 空类真的什么都没有?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。...class Date {}; 一、const 正常用法 在C++,可以使用const关键字来声明一个常量成员。常量成员是指在类声明的成员变量被标记为只读,即不能在类的方法中进行修改。...const成员函数 除了上面的这种用法外,C++在类里定义了新的const用法,将const修饰的“成员函数”称之为const成员函数,const修饰类成员函数,实际修饰该成员函数隐含的this指针,表明在该成员函数不能对类的任何成员进行修改...在C++,一个对象如果被声明为const,则表示该对象是只读的,其成员变量不能被修改。因此,一个const对象只能调用其成员函数中被声明为const的成员函数。...如果一个成员函数需要被const对象调用,应该在函数声明的末尾加上const关键字。这样声明的成员函数被称为const成员函数,它保证不修改对象状态,并且可以被const对象调用。

11310

【计算机本科补全计划】Java学习笔记(二) 基础语法红黄蓝

方法、变量、构造函数也可以在枚举定义。 ? 类似于C/C++,Java也支持单行以及多行注释。注释的字符将被Java编译器忽略。...变量声明和初始化都是在方法,方法结束后,变量就会自动销毁。 成员变量:成员变量是定义在类,方法体之外的变量。这种变量在创建对象的时候实例化。...你跟c++有啥区别!!new么?感觉C++的好简洁) 声明声明一个对象,包括对象名称和对象类型。 实例化:使用关键字new来创建一个对象。...例如:源文件public类的类名是Employee,那么源文件应该命名为Employee.java。 如果一个类定义在某个包,那么package语句应该在源文件的首行。...import语句和package语句对源文件定义的所有类都有效。在同一源文件,不能给不同的类不同的包声明。 类有若干种访问级别,并且类也分不同的类型:抽象类和final类等。

89360
领券