c-如何判断一个类能否安全地依赖于拷贝和赋值操作的默认版本?为什么?

问题描述

如何判断一个类能否安全地依赖于拷贝和赋值操作的默认版本?为什么?

初学C++,在书上看到的习题。如果有什么好的建议也请不吝赐教

解决方案

如果你的类成员都是基本数据类型,比如int,byte,char等,那么就可以依赖默认版本
比如一般定义结构体,我们一般没有提供自己额外的拷贝构造函数等
但是对于类,一般还是自己实现,因为你不知道将来是不是会增加新的数据类型

解决方案二:

如果一个类所有的成员都是能够调用默认构造函数,那么他就可以安全的依赖于拷贝和赋值的默认版本。
还有需要注意的是,如果有指针成员,则需要看具体情况,是否需要copy指针指向的对象。

希望能够帮到你。

解决方案三:

???
看不懂问题

时间: 2025-01-21 11:51:42

c-如何判断一个类能否安全地依赖于拷贝和赋值操作的默认版本?为什么?的相关文章

objective-C中如何判断一个类中有没有定义某个方法

C#中可以通过反射分析元数据来解决这个问题,示例代码如下: using System; using System.Reflection; namespace Hello { class Program { static void Main(string[] args) { if (IsMethodDefined(typeof(Utils), "HelloWorld")) { Console.WriteLine("Utils类中有方法HelloWorld"); } e

如何判断一个类是继承自泛型类?

问题描述 publicclassA<T>{}publicclassB:A<int>{}publicclassC:B{}如何才能知道C是从A<T>继承的.boolb=typeof(C).IsAssignableFrom(typeof(A<>));//不行boolb=typeof(C).IsAssignableFrom(typeof(A<>).GetGenericTypeDefinition());//也不行那位兄弟对泛型熟悉,帮忙看一下. 解决方案

php判断一个数组是否为有序的方法

 这篇文章主要介绍了php判断一个数组是否为有序的方法,涉及php操作数组遍历的相关技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了php判断一个数组是否为有序的方法.分享给大家供大家参考.具体分析如下: 这段代码的时间复杂度为O(n) ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43

在silverlight里自定义一个控件,在自定义控件类里面定义依赖属性出错。

问题描述 在silverlight里自定义一个控件,在自定义控件类里面定义依赖属性出错. 在silverlight里自定义一个控件ReplicationEventComboBox继承ComboBox,在ReplicationEventComboBox类里面定义依赖属性TextProperty. 其中ReplicationEventComboBox中 private TextBlock _text; 字段在方法OnApplyTemplate()中被赋值 var text = this.GetTem

第三节--定义一个类 -- Classes and Objects in PHP5 [3]

object|php5 /*+-------------------------------------------------------------------------------+| = 本文为Haohappy读<<Core PHP Programming>> | = 中Classes and Objects一章的笔记 | = 翻译为主+个人心得 | = 为避免可能发生的不必要的麻烦请勿转载,谢谢 | = 欢迎批评指正,希望和所有PHP爱好者共同进步! +--------

PHP 5.0对象模型深度探索之定义一个类

当你声明一个类,你需要列出对象应有的所有变量和所有函数-被称为属性和方法.列表1中显示了一个类的构成. 注意在大括号({})内你只能声明变量或者函数.列表2中显示了如何在一个类中定义三个属性和两个方法. 列表1 class Name extends Another Class { Access Variable Declaration Access Function Declaration } 列表2 //定义一个跟踪用户的类 class User { //属性 public $name; pr

Asp.net中判断一个session是否合法的方法

今天突然想到一个判断session是否合法的做法,asp.net的,之前我们的做法是下面这样的形式的:   复制代码 代码如下:  if (Session["UserID"] == "" || Session["UserID"] == null)  {      Response.Redirect("../Login.aspx?m=登录已超时,请重新登陆!");  } 一直我都觉得这个方法很不好,非常不好,但是一直也没找到好的

Javascript中判断一个值是否为undefined的方法详解_javascript技巧

前言 相信大家都知道当声明一个变量,并且没有给赋值的情况下,它的初始值是undefined.但是在javascript中,怎么检查一个值是否为undefined呢? 简单来说,在现代浏览器中,你可以安全的比较变量是否为undefined if (name === undefined) {...} 一些人反对直接使用undefined变量进行比较,因为在旧的浏览器中允许它的值被重新赋值,比如下面这样: undefined = "test" 在被重新赋值后,使用undefined指令将不能

从零开始学_JavaScript_系列(17)——dojo(6)(声明一个类declare)

(71)声明一个类declare 作用: 封装一个类,然后可以通过调用这个类,来调用其类方法.   优点: ①可以继承其他类的类方法:   ②假如我们需要使用一个类的类方法,而这个类依赖于5个插件.如果正常调用的话,我们需要在每个使用这个类的js文件里,调用这5个插件.当我们使用封装时,我们只需要调用这个类即可.而调用这个类的方法很简单.   ③可以使得代码模块化,按需加载.例如,我有封装好的A类B类C类,起初我用的是A类(假设A类依赖于20个插件),然后我可能弃用A类改用B类(B类使用与A类不