关于 C++ 删除函数的一点问题

之前的项目在C++代码中有用到了 删除函数 。。。

 1 namespace Framework
 2 {
 3     class Utils final
 4     {
 5     private:
 6         Utils() = delete; //删除函数
 7     public:
 8
 9         //--------
10         //  Math
11         //--------
12
13         // 返回无限制随机数,最大0x7fffffff
14         inline static int random();
15
16         // 返回指定范围随机数(范围[start, end])
17         inline static int random(int min, int max);
18
19         // 数值四舍五入取整,支持负数
20         inline static double round(double number);
21     };
22 }

如上面的代码,当某个函数被赋值为 delete 时,代表着这个函数被声明为了 删除函数,即不可以被调用。而此刻的无参构造函数被声明成为了删除函数,代表着系统也不会为这个类自动生成构造函数,如此当外部使用的时候就强制的不能产生该类的对象。而这么做的原因是因为这个类的所有成员函数都被声明为了静态方法,如此则没必要产生该类的对象,那么就强制用户不能产生该对象。。。

时间: 2024-11-05 18:25:10

关于 C++ 删除函数的一点问题的相关文章

Webkit的自定义属性获取函数以及属性删除函数实现

概述: [CustomEnumerateProperty] 当给定的接口被枚举时,允许你为指定接口的属性获取函数编写自己的实现. 同样,当接口的属性被删除时,[CustomDeleteProperty]允许你编写自己的实现. customEnumerateProperty](i), [CustomDeleteProperty](i) 用法: 这两个修饰可作用在interface,用法如下: [ CustomEnumerateProperty, CustomDeleteProperty ] int

Shell函数返回值、删除函数、在终端调用函数

Shell 也支持函数.Shell 函数必须先定义后使用. Shell 函数的定义格式如下: function_name () { list of commands [ return value ] } 如果你愿意,也可以在函数名前加上关键字 function: function function_name () { list of commands [ return value ] } 函数返回值,可以显式增加return语句:如果不加,会将最后一条命令运行结果作为返回值. Shell 函数返

Shell函数:Shell函数返回值、删除函数、在终端调用函数

函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高.像其他编程语言一样,Shell 也支持函数.Shell 函数必须先定义后使用. Shell 函数的定义格式如下: function_name () { list of commands [ return value ] } 如果你愿意,也可以在函数名前加上关键字 function: function function_name () { list of commands [ return value ] } 函数

STL中容器的push()或者push_back()函数的一点说明

在STL的queue 或者 vector.list等容器适配器或者容器中,会经常用到的函数就是push()或者push_back()函数,但是有一点需要明确的是: 在使用这些函数对容器/适配器对象增加新元素的时候,实际上是对原有的元素对象复制重新新建了一个元素对象作为元素压入到容器/适配器对象中. 例如: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include<queue> #include<iostream> u

使用mysql函数 group_concat 一点需要注意的

这个函数是一个非常好用的函数,比如我们可以在 进行多对多关联表,进行批量查询的时候可以用到, 比如学生和老师是多对多的关系,如果我们希望查询 指定的一些老师对应的学生有哪些 的时候,一般的情况,我们可能会遍历teacher_id,来一个个获取对应的学生集合,这样的话,效率是很差的,但是有了group_concat函数,你可以不用这样,你可以使用如下方式进行获取 select teacher_id,group_concat(student_id) from teache_student_mappi

对JS回调函数的一点理解

之前写的异步JS是纯译文,现在刚好工作了2个月,想谈谈我自己对JS回调函数的一点理解,欢迎渴望大家的指正和交流. 回调函数从形式上看就是把函数b作为参数传给函数a,在a的函数体里调用函数b 1 function a(b) { 2 b(); 3 } 4 function b() { 5 ... 6 } 这样做的意义是什么呢 1.控制执行流程,函数b只能在函数a执行后才执行 2.根据不同的需求,可以有各种各样的函数b 3.最重要的,是可以把通过函数a获取的数据传递给函数b 1 function a(

【Shell脚本学习22】Shell 函数:Shell函数返回值、删除函数、在终端调用函数

函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高.像其他编程语言一样,Shell 也支持函数.Shell 函数必须先定义后使用. Shell 函数的定义格式如下: function_name () { list of commands [ return value ] } 如果你愿意,也可以在函数名前加上关键字 function: function function_name () { list of commands [ return value ] } 函数

php的spl_autoload_register函数的一点个人见解

这是一篇对spl_autoload_register()函数的个人简单介绍,有需要的同学可以参考,主要是讨论spl_autoload_register()函数所注册的函数的参数的个人一点迷惑. 废话不多说,上代码,还请同学注意看注释. <?php //定义一个函数,功能自动加载类文件 function autoload($class){ //参数$class,不用管它,它自己会以``类的名称``作为参数 //类文件的地址,类文件的格式是$class.class.php $classPath =

UCOS 请求任务删除函数 及其应用

有时候,如果任务A拥有内存缓冲区或信号量之类的资源,而任务B想删除该任务,这些资源就可能由于没被释放而丢失.在这种情况下,用户可以想法子让拥有这些资源的任务在使用完资源后,先释放资源,再删除自己.用户可以通过OSTaskDelReq()函数来完成该功能. 函数名 OSTaskDelReq 参数 Prio要删除任务的优先级(0xFF表示当前任务) 功能描述 请求删除任务 函数原型 INT8U OSTaskDelReq(INT8U prio) 核   心   代   码 { if (prio ==