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

C++模板发送“假参数”是不好的做法吗?

C++模板发送“假参数”是不好的做法。在C++中,模板是一种通用的编程工具,可以根据不同的参数类型生成不同的代码。发送“假参数”意味着在模板实例化时传递一个不真实的参数,这种做法可能会导致代码的可读性和可维护性降低,并且可能引入潜在的错误。

发送“假参数”可能会使代码难以理解,因为读者可能会误解代码的意图。此外,当其他开发人员在阅读和维护代码时,他们可能会被误导,认为这个参数是真实的,从而导致错误的理解和错误的修改。

此外,发送“假参数”还可能导致代码的可维护性下降。如果代码中存在大量的“假参数”,当需要修改模板时,可能需要修改多处地方,增加了维护的难度。而且,由于这些参数是不真实的,可能会导致代码在不同的场景下出现意外行为。

因此,为了保持代码的可读性和可维护性,建议避免发送“假参数”。如果需要在模板中传递参数,应该选择真实的参数,并确保代码的逻辑清晰明确。

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

相关·内容

【干货】如何写代码 -编程内功心法

写代码就是学一门语言然后开始撸代码?看完了我《GoF设计模式》系列文章同学或者本身已经就是老鸟同学显然不会这么认为。 编程一项非常严谨工作!...但是,拼音和英语混用做法就不太好了。最好别这样!逼格不高。 注释 怎么添加代码注释 关于注释,我们需要解决第一个问题如何添加代码注释。...来看看代码: /** * 异步发送通知邮件。 * @param templateFile 邮件模板文件路径,相对于classpath。.../** * 异步发送通知邮件。 * @param templateFile 邮件模板文件路径,相对于classpath。...孤立一句错误日志通常没有什么实际作用。比如上面的例子中,如果在找不到指定模板文件时候未将发送邮件时指定模板文件名输出,那么排错时候无法知道到底少了哪个模板文件。

84380
  • 如何写代码 — 编程内功心法

    但是,拼音和英语混用做法就不太好了。最好别这样!逼格不高。 爱 注释 怎么添加代码注释 关于注释,我们需要解决第一个问题如何添加代码注释。...不同企业会有不同编码规范,所以这里没有办法给出一个符合所有公司规范。不过制定自己团队规范时候,可以参考一些大企业做法。以下世界上最大互联网公司谷歌编码规范,同学们可以参考这个。...来看看代码: /** * 异步发送通知邮件。 * @param templateFile 邮件模板文件路径,相对于classpath。.../** * 异步发送通知邮件。 * @param templateFile 邮件模板文件路径,相对于classpath。...孤立一句错误日志通常没有什么实际作用。比如上面的例子中,如果在找不到指定模板文件时候未将发送邮件时指定模板文件名输出,那么排错时候无法知道到底少了哪个模板文件。

    51430

    JAVA和C++对比学习

    JAVA只有final关键字,只能限定对象属性不可改变对象,但是其指向对象本身可变 JAVA推荐编码实践中有一条:不得修改函数参数传入对象,以保持对象封装完整性。...,节省开发时间重要手段,如果参数列表确实太长,考虑使用setter方法来简化对象使用 2.3 函数指针 C++可以定义函数指针,并且可以放入各种STL容器 JAVA必须要通过定义一个Interface...权限内容 4.5 构造器 C++有初始化列表,可以在其中选择不同基类构造函数 JAVA在子类构造器中调用一下选择基类构造器,实际上那行代码并非在那个时间被调用 JAVA缺乏明确初始化个成员以及自己语法...,都不能做到跨平台,因此需要多多利用JNI功能,可以大大提高JAVA工作效能 6 模板 6.1 运行机制 C++在编译时生成所有具体类代码,在运行前已经自动生成好一批新类 JAVA采用运行时动态转换类做法处理...4)模板和API部分各自有优秀地方,但是觉得模板范式C++更正宗,更能体现静态之美,JAVA只是利用动态优势效颦了一下。

    2.7K40

    C++静态链接

    因为现代CPU都会对指令和数据进行缓存,如果同样一份指令有多份副本,那么指令 Cache命中率就会降低 一个比较有效做法就是将每个模板实例代码都单独地存放在一个段里,每个段只包含一个模板实例。...这种做法的确被日前主流编译器所采用, GNU GCO编译器和VISUAL C++ 编译器都采用了类似的方法。...GCC把这种类似的须要在最终链接时合并段叫“ Link once”,它做法将这种类型段命名为“gnu. linkonce. name",其中“name”模板函数实例修饰后名称。...这种重复代码消除对于模板来说是这样,对于外部内联函数和虚函数表做法也类似。...异常产生和捕获机制 标准库细节问题,RTTI如何实现等; 内嵌函数访问细节 C++一直为人诟病一大原因二进制兼容性不好,或者说比起C语言来更为不易。

    1.7K10

    面向对象代码风格(上)

    这些系统大多数在完成新功能同时,还需要保持旧能力稳定。 最简单做法就是利用继承来扩展旧类,添加新功能。这样做法不能说是很好,但在实际环境下,往往唯一可行方案。...C++语言既有面向对象多态,又有模板,因此被视为一门异常复杂语言。虽然很多功能既可以用多态来实现,又可以用模板实现。但是多态能获得更多类型检查,而模板只能在编译时提示出错。...有人说编译模板代码名字很长,难以阅读,但是多态运行时错误同样不好调试。...; 在算法容器中,我们希望类结构仅仅看成一个对象——在这些地方,我们把类对象,看成一个模板参数传进来,从而可以统一按某种“模板逻辑”做处理。...在JAVA中,模板类型参数可以限制范围,所以编写模板函数可以约定使用协议,否则如C++就只能靠编译时,看有没有“同样”名字成员检查,因此不太好体现设计中设计用途。

    1.3K80

    C++】泛型编程——模板初阶

    但是呢,还是有一些不好地方: 使用函数重载虽然可以实现,但是有一下几个不好地方: 重载函数仅仅是类型不同,代码复用率比较低,只要有新类型出现时,就需要用户自己增加对应函数 代码可维护性比较低...巧前人早已将此树栽好,我们只需在此乘凉: C++引入了泛型编程,就可以解决这个问题。 泛型编程:编写与类型无关通用代码,代码复用一种手段。...right = temp; } 这里T我们定义模板类型名称,自己起,我们调用Swap时,传参数是什么类型,T就会被替换成对应类型,然后Swap函数就对该类型参数进行相应处理。...但是: 我们刚才写个啥,一个具体函数? 是不是一个函数模板啊,并不是一个函数。 如果我们去观察汇编的话会发现它们两个去call函数不一样,并不是一个。...那如果我们就想调函数模板生成那个呢?可以做到

    14510

    神级程序员教你如何写代码——十年编程内功心法

    写代码就是学一门语言然后开始撸代码?看完了我一系列文章同学或者本身已经就是老鸟同学显然不会这么认为。编程一项非常严谨工作!虽然我们自嘲为码农,但是这工作毕竟不是真正搬砖,我们软件工程师。...英文不好怎么办 这个问题怎么说呢。。 作为一名程序员吧,基础英文还是要懂。要不然发展也容易遇到天花板,学不好编程。毕竟,最新技术、解决方案、工具都是从国外传过来。...但是,拼音和英语混用做法就不太好了。最好别这样!逼格不高。 注释 怎么添加代码注释 关于注释,我们需要解决第一个问题如何添加代码注释。...不同企业会有不同编码规范,所以这里没有办法给出一个符合所有公司规范。不过制定自己团队规范时候,可以参考一些大企业做法。以下世界上最大互联网公司谷歌编码规范,同学们可以参考这个。...孤立一句错误日志通常没有什么实际作用。比如上面的例子中,如果在找不到指定模板文件时候未将发送邮件时指定模板文件名输出,那么排错时候无法知道到底少了哪个模板文件。

    3.5K50

    C++面试题

    最好不要用PostMessage发送带有指针参数消息。 3、MFC对话框种类,各自怎么使用?及相关函数 4、自定义一个Windows消息发送与响应,有哪些步骤?...6、模板实现可以写在.h文件中? 7、C++模板类代码只能写在头文件? 这个问题,实际上我几年前就遇到了。最近写个模板类玩时候,再次遇到。...那么当分离声明和实现写好后,单独编译.cpp可以通过,但是生成.o文件却非常小,只有一个原因:确实没有任何实现代码!————不知道用什么类型参数套用模板。...因为模板类需要在使用到地方利用声明模板typename或者class参数时候,才会即时生成代码。...3、模板你在项目中使用C++面试6 1、派生类怎么调用基类虚函数版本? C++ primer 这本书上有这么两句话“派生类虚函数调用基类版本时,必须显式使用作用域操作符。

    2.2K30

    编程内功心法:如何写代码?

    写代码就是学一门语言然后开始撸代码?看完了我《GoF 设计模式》系列文章同学或者本身已经就是老鸟同学显然不会这么认为。编程一项非常严谨工作!...但是,拼音和英语混用做法就不太好了。最好别这样!逼格不高。 注释 怎么添加代码注释 关于注释,我们需要解决第一个问题如何添加代码注释。...不同企业会有不同编码规范,所以这里没有办法给出一个符合所有公司规范。不过制定自己团队规范时候,可以参考一些大企业做法。以下世界上最大互联网公司谷歌编码规范,同学们可以参考这个。...孤立一句错误日志通常没有什么实际作用。比如上面的例子中,如果在找不到指定模板文件时候未将发送邮件时指定模板文件名输出,那么排错时候无法知道到底少了哪个模板文件。...参数合理值无法通过方法名、参数名、参数类型一眼看出来时候!比如上面那个 pageIndex 从 1 开始计数,但别人并不知道你从 1 开始计数

    1.5K130

    C++:模版初阶 | STL简介

    ) 2.2 函数模板原理 现在我们尝试使用这个模具 那这两个函数都是调用这个模版函数?? ...2.3 函数模板实例化     用不同类型参数使用函数模板时,称为函数模板实例化。模板参数实例化分为:隐式实例化和显式实例化。...1、隐式实例化:让编译器根据实参推演模板参数实际类型  如果传另个不同类型呢??...(standard template libaray-标准模板库):C++标准库重要组成部分,不仅是一个可复用组件库,而且一个包罗数据结构与算法软件框架。...STLC++优秀作品,有了它陪伴,许多底层数据结构以及算法都不需要自己重新造轮子,站在前人肩膀上,健步如飞快速开发。

    14210

    我们Lua类绑定机制

    但是使用时候发现,一并不是很方便,另外就是也适配不好,所以索性自己搞一个算了。...具体做法,在table引用其他数据之前增加一个table,设置__newindex用于保存数据。然后采用类似继承方式来读数据。...为了减少代码,我们大量使用了C++11特性(主要是function、lambda表达式、type_traits和动态模板参数)。利用C++模板参数推导规则来自动分析参数。...它们实现原理都一样,就是利用C++偏特化和模板类型匹配规则。...以完成命名空间和类绑定操作。 这样不同模块开发者不需要写额外代码,并且不需要去频繁改动上层Lua绑定管理器。可以认为一种依赖反转做法

    2.4K10

    C++模板(上)

    前言 本文介绍了C++模板基础概念,简单介绍了泛型编程,模板,以及模板函数模板与类模板等相关概念。 ---- 一、泛型编程 如何实现一个通用交换函数(任何类型参数都可以使用)呢?...在C++中,存在着这样一个模具,通过给这个模具中填充不同材料(类型),来获得不同材料铸件(即生成具体类型代码)。 泛型编程:编写与类型无关通用代码,代码复用一种手段。...示例: template void Swap(T& x, T& y) { T temp = x; x = y; y = temp; } 运行结果: 那么这两次数据交换使用同一个函数...或者说是用这个模板来进行这两次数据交换?...通俗一点来说,可以看作做蛋糕模具。 模板类: 主要描述类,这个类使用类模板进行声明。将类模板虚拟类型参数指定成一个具体数据类型参数。通俗一点说,可以看作用模具做出来蛋糕。

    40540

    一文解决现代编程语言选择困难:命令式编程

    一种做法手工检查是否生成异常,但是在编程过程中可能会忘记对异常做检查,因此这种做法是非常不可靠,而且会在代码中添加大量额外处理。...C++ 支持 goto、指针、引用、面向对象编程、操作符重载,以及各种非生产特性。 为什么说 C++ 不好?在我看来,最大问题在于 C++ 颇具年头了。C++ 在 1979 年设计。...在当时设计者缺少经验,关注点发散,虽然所添加特性在当时看来似乎好做法C++ 得到了非常广泛使用,这意味着为其中支持各种用例而添加了更多特性,导致特性成堆。...React 中,函数参数 props 不可变;而 TypeScript 中,没有内置提供适用不可变数据结构支持。...类型系统 几乎所有的现代编程语言都具有某种形式泛型,其中包括 C# 和 Java,甚至 C++ 也提供模板类。泛型支持开发人员重用不同类型函数实现。

    1.2K30

    研效优化实践:聊聊单元测试那些事儿

    假设 A() 一个很重函数(操作 DB、文件或者网络通信……),进行单元测试时,我们不希望引入这些外部依赖,而是希望调用 A() 时立即返回一些提前准备好数据”,这时需要“仿冒”一个 A(),...Mocks:仅记录它们调用信息对象 比如模拟文件保存接口、数据发送接口等。 在实践中通常并不纠结这几个词语区别,常被统称为 插桩,对应工具也一般被称作 Mock 工具。...C++ 单元测试 常见单元测试框架 GoogleTest 老牌测试框架,功能完善,用户很多。 Catch2 现代化测试框架,提供了很多特色功能,依赖简单,可以一试。...:C/C++单元测试万能插桩工具》 通过 Hook 函数入口实现用 Mock 函数无缝替换原始函数 内部开源工具 MySQL Server Mock MySQL 官方提供服务端 Mock 工具 编译参数选项...不要被高覆盖率骗了 单元测试目标发现问题,不是追求高覆盖率 宏、模板等语法功能可能会使得覆盖率虚高 Debug/Release 目标结果不一致 Debug 目标关闭优化,启用堆栈保护,某些错误代码可正常执行

    94431

    可变参数(cc++)

    使用额外参数传递参数数量:虽然不是必须,但在某些情况下,通过额外参数传递参数数量一种方便做法。 在实际应用中,选择哪种方法取决于函数使用场景和需求。...如果函数参数数量不固定,并且无法通过其他方式确定参数数量,那么传递一个表示参数数量额外参数一种常见做法。但在某些情况下,其他方法可能更加合适。...二、C++实现方法 2.1数据包 在 C++ 中,也可以使用可变参数模板来实现类似的功能,这种技术更加灵活,并且不需要使用宏。...C++11 引入了新语法和标准库支持,使得可变参数模板更加易用和安全。 c++在c++11中提出了可变参数模板概念,所谓可变参数模板就是一个接受可变数目参数模板函数或模板类。...rest); 声明了foo一个可变参数函数模板,它有一个名为T类型参数,和一个名为Args模板参数包。这个包表示零个或多个额外类型参数

    64310

    简述C和C++学习历程

    4、学习C++深入技巧 C++在类基础上,经过这么多年发展,其实提供了很多深入概念,看起来很复杂,其实我看也很简单。比如模板,我理解就是“类类”,大家说是不是?...既然模板理解了,STL,ATL这些,静态模板库,动态模板库,还难理解?就是一大堆类类,可以借此实现很多应用中需要类,不需要程序员再自己写而已。 ok,STL都理解了,泛型开发还难?...那么,一般说来,客户端Windows系统,服务器Linux,这些都是行业习惯,嵌入式不好说,各种平台都有,Palm,S60,Linux,WinCE,等等。要根据自己目标客户来定。...9、COM COM、COM、COM,我最头疼COM,呵呵。 COM就是一种远程过程调用,即你请求代码在另外一个进程中运行,通过某种通信协议来回传递参数和结果。仅此而已。...不过,为了传递各种类型参数,COM可谓无所不用其极,它发明了智能指针,可以指向任何类型数据,同时,为了实现智能指针,它使用了大量C++泛型设计,看见没,C++基本功就起作用了,还用到了ATL.

    65420

    腾讯面经 一面

    春招简历被捞起来,接到电话都是懵逼。。一上来先问面试官 不好意思咱们这是个啥部门啥职位啊,然后才是知道c++研发......问题大概这些: 讲一下模板,聊下对stl理解 红黑树了解不,什么原理,怎么控制平衡,和avl比较呢?...简单说一下 type_traits 图灵完备性了解 模板元编程实现以下循环和if else c++虚函数讲一下 c语言怎样实现多态 聊一下在阿里都干啥了(写java) c++怎样实现反射 tcp udp...什么守护进程 聊一下你知道排序算法,我提了快排 归并和堆,n方排序我直接说效率低就没提,详细说实现方式和场景 然后面试官问我秋招嗨投算法不,我说我菜跟蛇一样,不投了不投了 分享出来给后面攒人品把...,希望各位c++巨佬能互相交流一下弥补一下知识点,之后不要被问太尴尬就好 点击作者姓名与作者大佬交流~ 作者:asfsgfwe 来源:牛客网(www.nowcoder.com) - 互联网名企笔试真题

    64520

    C和C加加学习过程总结,内有实用学习路线

    4、学习C++深入技巧 C++在类基础上,经过这么多年发展,其实提供了很多深入概念,看起来很复杂,其实我看也很简单。比如模板,我理解就是“类类”,大家说是不是?...既然模板理解了,STL,ATL这些,静态模板库,动态模板库,还难理解?就是一大堆类类,可以借此实现很多应用中需要类,不需要程序员再自己写而已。 ok,STL都理解了,泛型开发还难?...那么,一般说来,客户端Windows系统,服务器Linux,这些都是行业习惯,嵌入式不好说,各种平台都有,Palm,S60,Linux,WinCE,等等。要根据自己目标客户来定。...9、COM COM、COM、COM,我最头疼COM,呵呵。 COM就是一种远程过程调用,即你请求代码在另外一个进程中运行,通过某种通信协议来回传递参数和结果。仅此而已。...不过,为了传递各种类型参数,COM可谓无所不用其极,它发明了智能指针,可以指向任何类型数据,同时,为了实现智能指针,它使用了大量C++泛型设计,看见没,C++基本功就起作用了,还用到了ATL.

    1.3K61

    浅论C++复杂性

    Template(模板考虑已遍及C++,而且好编程规则中包含特殊template-only(模板专用)条款已经不再不同寻常。...但当从C++C部分转移到Object-Oriented C++(面向对象C++),由于传值传值调用会导致建立参数副本,调用用户自定义构造函数和析构函数会降低效率,所以更好做法传const引用。...C++语言复杂原因 C++复杂真正原因是什么?对此,仁者见仁智者见智。因为学院派东西?不,学院派出来东西就一定复杂?这个理由站不住脚。...C++没有采用一些可能会降低程序性能做法,如采用来及回收机制等。而这些做法有可能降低C++复杂性。...3.需要学习和使用C++ 既然C++如此复杂,那么有必要学习和使用C++? 对于这个问题,无法给出强制性回答。

    1.1K20
    领券