Tag: C#的

cbegin / cend背后的原因是什么?

我想知道为什么cbegin和cbegin是在C ++ 11中引入的? 什么情况下调用这些方法与const的重载begin和end什么不同?

我可以在运行时加载一个.NET程序集并实例化只知道名称的types吗?

是否有可能在运行时实例化一个对象,如果我只有DLL名称和类名,而不添加对项目中的程序集的引用? 这个类实现了一个接口,所以一旦我实例化这个类,我就会将它转换到接口。 大会名称: library.dll types名称: Company.Project.Classname 编辑:我没有DLL的绝对path,所以Assembly.LoadFile将无法正常工作。 该DLL可能位于应用程序根目录system32中,甚至可能在GAC中加载。

静态构造函数在C + +? 我需要初始化私有静态对象

我想有一个私有的静态数据成员(包含所有字符az的向量)的类。 在java或C#中,我可以创build一个“静态构造函数”,它将在我创build类的任何实例之前运行,并设置类的静态数据成员。 它只运行一次(因为variables是只读的,只需要设置一次),因为它是类的函数,它可以访问其私有成员。 我可以在构造函数中添加代码,以检查向量是否已初始化,如果不是,则会初始化代码,但引入了许多必要的检查,看起来并不是问题的最佳解决scheme。 我想到,由于variables是只读的,所以它们可以是公共的静态常量,所以我可以在课堂以外设置它们,但是再一次,它看起来有点像一个丑陋的黑客。 如果我不想在实例构造函数中初始化它们,是否有可能在类中有私有静态数据成员?

nameof的用途是什么?

版本6.0获得了nameof一个新特性,但我不明白它的目的,因为它只是取得variables名,并在编译时将其更改为string。 我认为它可能有一些目的,当使用<T>但是当我尝试nameof(T)它只是打印我T而不是使用的types。 任何想法的目的?

g ++对typeinfo的未定义引用

我只是遇到以下错误(并find解决scheme在线,但它不存在堆栈溢出): (.gnu.linkonce。[stuff]):未定义的引用[方法] [目标文件] 🙁 .gnu.linkonce。[stuff]):未定义的引用`typeinfo for [classname]' 为什么会得到这些“未定义的引用typeinfo”链接器错误之一? (如果你可以解释幕后发生了什么,奖金分数。)

什么是.NET程序集?

什么是.NET程序集? 我浏览网页,我无法理解这个定义。

〜x +〜y ==〜(x + y)总是假的?

这个代码总是评估为false? 这两个variables都是两个补码signed int。 ~x + ~y == ~(x + y) 我觉得应该有一些符合条件的数字。 我试图testing-5000到5000之间的数字,但从来没有达到平等。 有没有办法build立一个方程来find解决scheme的条件? 将另一个replace为我的程序中的一个隐藏的错误?

内联汇编语言比本机C ++代码慢吗?

我试图比较内联汇编语言和C ++代码的性能,所以我编写了一个函数来添加两个大小为2000的数组100000次。 代码如下: #define TIMES 100000 void calcuC(int *x,int *y,int length) { for(int i = 0; i < TIMES; i++) { for(int j = 0; j < length; j++) x[j] += y[j]; } } void calcuAsm(int *x,int *y,int lengthOfArray) { __asm { mov edi,TIMES start: mov esi,0 mov ecx,lengthOfArray label: mov edx,x push edx mov […]

函数声明后的= delete的含义

class my_class { … my_class(my_class const &) = delete; … }; 在这种情况下, = delete是什么意思? 还有没有其他的“修饰符”(除了= 0和= delete )?

你可以在MSIL中做什么,你不能在C#或VB.NET中做什么?

所有使用.NET语言编写的代码都会编译为MSIL,但是您可以直接使用MSIL来执行特定的任务/操作吗? 让我们在MSIL上做的事情也比C#,VB.NET,F#,j#或其他任何.NET语言更容易。 到目前为止我们有这个: 尾recursion 一般Co / Contravariance 重载仅在返回types中有所不同 覆盖访问修饰符 有一个不能从System.Objectinheritance的类 过滤的exception(可以在vb.net中完成) 调用当前静态类types的虚方法。 获取值types的盒装版本的句柄。 做一个尝试/错误。 禁止使用的名称。 为值types定义自己的无参数构造函数 。 用一个raise元素定义事件。 CLR允许一些转换,但C#不允许。 做一个非main()方法作为.entrypoint 。 直接使用本地int和本地unsigned inttypes。 玩瞬态指针 MethodBodyItem中的emitbyte指令 抛出并捕获非System.Exceptiontypes inheritance枚举(未validation) 您可以将一个字节数组作为一个(4x小)的整数数组。 你可以有一个字段/方法/属性/事件都具有相同的名称(未validation)。 你可以从自己的catch块分支回try块。 您可以访问famandassem访问说明符( protected internal是fam 或汇编) 直接访问用于定义全局函数的<Module>类或模块初始值设定项。