new-operator相关内容
是否允许删除此; 如果delete语句是将在该类的实例上执行的最后一个语句?当然,我确信 this -pointer代表的对象是 new 。 > 我在想这样的东西: void SomeModule :: doStuff () { //在控制器中,SomeModule的“this”对象是“当前模块” //现在,如果我想切换到一个新的模块, controller-> set
..
我一直在使用C ++,我一直在想知道新关键字。 1)使用新关键字... MyClass * myClass = new MyClass(); myClass-> MyField =“Hello world!”; 2)没有新关键字... MyClass myClass; myClass.MyField =“Hello world!”;
..
我先学C#,现在我从C ++开始。据我所知,C ++中的操作符 new 与C#中的不一样。 这个示例代码中的内存泄漏? class A {...} struct B {...}; A * object1 = new A(); B object2 = *(new B()); 解决方案 发生了什么 / p> 当你写 T t; 你正在创建一个类型
..
我偶然发现Stack Overflow问题使用std :: list时,内存泄漏与std :: string 和其中一条评论说: 停止使用 new 这么多。我看不到任何原因你使用新的任何地方 你做了。你可以通过C ++中的值创建对象,它是 中使用语言的巨大优势之一。你不必在heap *上分配 的一切。停止像一个Java程序员一样思考。 *在引文中修
..
如果'Test'是普通类,是否有任何区别: Test * test = new Test; 和 Test * test = new Test(); 解决方案 影响你的代码的行为。以下大部分摘自对“旧新事物”文章的评论。 有时新操作符返回的内存将被初始化,有时它不会取决于您要新建的类型是 POD(普通旧数据),或者如果它是包含POD成员并
..
下面是我的正则表达式: \ [\ [START\] \] \ [\ [OK\] \(。*?)\ [\ [END\] \] 我想获得包含在任何文本[[开始]] [[确定]] 和 [结束]] 。 然而,当我的文字中包含一些 \r\\\ 字符,我正则表达式不匹配。 如何使它发挥作用? 解决方案 使用单行模式 的 http://msdn.m
..
从C即将++,我很困惑,在C#中使用新关键字。 我理解,它不喜欢工作,C ++的新在这个意义上,您不必手动控制对象的生命周期,如C#有垃圾回收。 然而,在其他国家的人民阅读C#代码时,我注意到像代码片段1岂不是更容易避免使用新干脆,就像在代码片段2? 片段1 美孚fooInstance =新的Foo(); 片段2 富fooInstance;
..
从一个头脑简单的简单问题: 哪些之间的差异在VB.NET阴影关键字和新建关键字? (关于当然方法签名)。 解决方案 他们是相同的。的 阴影 是VB.NET相当于C#的的 新关键字。它们的意思是一样的语义,它们向下编译到相同的IL。 在Visual Studio中的某些版本(我不知道这是否仍是如此),使用在VB.NET工程阴影关键字隐藏了所有的功能与智能感知名称相同的效果。但是,这实
..
这是不可能在一个接口标记方法声明为“新”,但是它有任何“技术”感,或只是一种方法,明确指出该声明不能覆盖一前一? 例如: 接口II1 { 新无效F(); } 接口II2:II1 { 新无效F(); } 有效(C#4.0编译器不会抱怨),但不会出现来自不同: 接口II1 { 无效F(); } 接口II2:II1 { 无效F()
..
所以我开始学习C#,就像字面上刚刚开始学习,并从一个Java背景的,它看起来并不太坏。不过,我有一个问题。我下面使用本教程客户对象模型。而刚刚从顶部开始,我添加了引用,但使用Microsoft.SharePoint.Client; 一直给我说:“命名空间”的SharePoint“不存在的错误命名空间'微软',但我清楚地看到它的右侧面板上,所以看说明书,我能想到的唯一的区别是事实,我使用的Visua
..
我理解的“新”的关键字如何隐藏在派生类中的方法。但是,它有实现使用关键字接口的类有什么影响? 考虑这个例子,在这里我决定通过其属性读/写扩展接口 公共接口IReadOnly { 字符串ID { 搞定; } } 公共接口ICanReadAndWrite:IReadOnly { 新的字符串ID { 搞定; 组; } } 然后你可以做这样的事情:
..
我有以下类: Base类 { 公共虚拟无效打印() { Console.WriteLine(“基地”); } } 类Der1:基本 { 公开新的虚拟无效打印() { Console.WriteLine (“Der1”); } } 类DER2:Der1 { 公共覆盖无效打印() { Console.WriteLine( “DER2”); } }
..
在C#有什么使用new关键字的性能开销?我关于游戏的发展特别要求,我知道在C ++中它是一个明确的禁忌是newing东西每个更新周期。做同样适用于C#?我使用XNA和移动开发。只是要求作为优化的问题真的。 解决方案 有三个部分的成本新: 分配内存(可能无法如果它是一个值类型所需的) (取决于你在做什么),运行构造 垃圾收集费用(同样,这可能不是如果它是一个值类型,根据上下文应用)
..
我想知道是什么发生了一个对象(在C#),一旦其参考变为重新分配。例如: 轿车C =新车(“红车”); C =新车(“蓝车”); 由于参考重复使用,并垃圾收集处置/处理“红车”这是丢失后,它的参考?还是一个单独的方法需要落实处置“红车”的? 我主要想知道,因为有我要去参加一个比较大的对象回收,并且需要知道,如果有什么事情,当它被重建了应该做的。 解决方案
..
我如何确保某一类只能通过工厂实例化,而不是通过调用新直接? 编辑:我需要的工厂是(依赖注入的目的)一个单独的类,所以我不能让它被实例化类的静态方法,所以我不能让新私人 解决方案 如果由于某种原因,你需要的工厂和构造类是在单独的程序集(这意味着简单地使用内部将无法正常工作),你可以确保你的工厂都有机会先运行,你可以这样做: //在工厂组装: 公共类厂 { 公共厂() {
..
我昨天发布了有关新的/虚拟/覆盖关键字的问题,我从你的答案学到了很多东西。但我仍留在有些疑惑。 在所有的“盒子”之间,我失去了联系,什么是真正发生在该类型的方法表。例如: 接口I1 {void绘制(); } 接口I2 {void绘制(); } 类答:I1,I2 { 公共无效Minstance(){Console.WriteLine(“A :: MInstance”); }
..
简单的简短的问题 到底是什么 之间的差异 INT [] intarray =新INT [2] {1,2}; 和 INT [] = intarray2 4,5,6 {}; 像什么是“新”做什么呢? 和你真的需要它吗? 即时猜测它只是分配内存.....什么?对不起即时通讯完全新的C#和遇到我去学它的问题。 解决方案 第二个是
..
对象=新的狗(); VS 狗=新的狗(); 在这两种情况下 a.GetType()给狗。 都调用相同的构造(相同的层次结构)。 然后可以请你告诉我,这两个语句之间的区别? 解决方案 这两个创建一个Dog对象。只有第二个允许你直接调用狗的方法或以其他方式对待它像狗,例如,如果你需要将对象传递给方法作为类型的参数狗 (或东西在狗的层次
..
我有正在生成的在VS2008警告:“如果隐藏的目的使用new关键字”下面的代码片断: 公共双富(双参数) { 返回base.Foo(参数); } 的 美孚()在基类的功能得到保护,我想通过把它在包装类单独的单元测试的目的,将其暴露在一个单元测试。即包装类将不会被用于其他任何东西。所以,我有一个问题是:这是公认的做法 回到新警告。 为什么我会有新的压倒一切的功能
..
来源: http://msdn.microsoft.com/en-us/库/ 2s05feca.aspx 注意,你不能省略的元素初始化新的运营商,因为没有为元素没有默认初始化: INT [] [] = jaggedArray3 { 新INT [] {1,3,5,7,9 } 新INT [] {0,2,4,6}, 新INT [] {} 11,22 }; 这是什么
..