小编Qwe*_*tie的帖子

输出到字符串的cout相当于什么?

我应该已经知道这一点,但... printfsprintf因为cout____?请举个例子.

c++ standard-library

6
推荐指数
1
解决办法
2207
查看次数

混合MarshalByRefObject和Serializable

各种消息来源解释说

当对象从MarshalByRefObject派生时,对象引用将从一个应用程序域传递到另一个应用程序域而不是对象本身.当一个对象用[Serializable]标记时,该对象将自动序列化,从一个应用程序域传输到另一个应用程序域,然后反序列化以在第二个应用程序域中生成该对象的精确副本.请注意,当MarshalByRefObject传递引用时,[Serializable]会导致复制对象.[资源]

我正在设计我的第一个使用AppDomains的应用程序,我想知道当您对MarshalByRefObjects可执行MarshalByRefObject的可序列化对象内部的引用时会发生什么,因为到目前为止我找不到关于该主题的任何文档.

例如,如果我尝试返回跨AppDomain边界的List<MBR>位置会发生什么MBR : MarshalByRefObject?我是否获得原始对象的List<MBR>每个MBR位置 的副本TransparentProxy?有没有关于混合这两种机制的技术细节的文档?

.net remoting serialization appdomain marshalbyrefobject

6
推荐指数
1
解决办法
4495
查看次数

为什么Windows和Linux之间的标准库函数名称不同?

我正在将一个Windows库移植到Android(使用GNU标准C++库选项,libstdc ++ - v3),VC和GNU库之间似乎有很多命名差异,例如:

  • _stricmp被称为strcasecmp替代
  • _unlink 叫做 unlink
  • _scalb 叫做 scalbn
  • _finite 叫做 isfinite
  • _isnan 叫做 isnan
  • _itoa并且itoa似乎不存在于GNU C++中
  • atoi 确实存在,但没有 atoi64

VC和GNU库的文档意味着它们实现了"ISO"C++,例如我可以从VC2008中获得一些警告,因为没有使用"ISO C++"名称,例如:"警告C4996:'itoa':不推荐使用此项目的POSIX名称,而是使用符合ISO C++标准的名称:_itoa." 类似地,GNU的手册说"GNU标准C++库v3是一个实现ISO 14882标准C++库的持续项目".

那么图书馆如何最终得到这些不同的名字呢?如何判断哪些名称更"标准"?

另外,libstdc ++ - v3 的索引是否存在,即库中所有函数的简单列表?我只能找到一本手册和" 源文档 ",它似乎没有提供功能列表.

c++ c++-standard-library

6
推荐指数
1
解决办法
3466
查看次数

这里的冲突在哪里?

为什么我不能重载此模板功能?

import std.stdio;

T[] find(T, E)(T[] haystack, E needle)
    if (is(typeof(haystack[0] != needle)))
{
    while(haystack.length > 0 && haystack[0] != needle) {
        haystack = haystack[1 .. $];
    }
    return haystack;
}

// main.d(14): Error: function main.find conflicts with template main.find(T,E) if (is(typeof(haystack[0] != needle))) at main.d(5)
double[] find(double[] haystack, string needle) { return haystack; }

int main(string[] argv)
{
    double[] a = [1,2.0,3];
    writeln(find(a, 2.0));
    writeln(find(a, "2"));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

据我所知,这两个函数不能接受相同的参数类型.

templates overloading d

6
推荐指数
1
解决办法
188
查看次数

如何检测何时按下热键(快捷键)

如何在WPF中按下诸如Ctrl+之类的快捷键O(独立于任何特定控件)?

我试图捕捉KeyDown,但KeyEventArgs并没有告诉我是否ControlAlt已关闭.

.net wpf keyboard-shortcuts hotkeys

5
推荐指数
1
解决办法
3121
查看次数

WPF:如何将鼠标事件附加到视图模型?

我试图第一次使用MVVM模式.所以我ItemsControl填充了我的viewmodel对象,使用DataTemplate's 显示; 对象是"节点"和"边缘",DataTemplateThumbPolyline对象表示,我希望能够检测到点击和拖动ItemsControl,以便移动节点和边缘.

两个问题:

  • 如何将鼠标事件处理程序附加到由小视图模型处理的Polyline's和Thumb?(我可以将一个Thumb.DragDelta处理程序附加到ItemsControle.OriginalSource指向Thumb,但是如何获取相应的viewmodel对象?)
  • 如何将鼠标事件处理程序附加ItemsControl到检测鼠标单击和拖动空白区域?(答案如下)

注意:我知道如果它直接处理View的事件,它可能不被认为是正确的ViewModel.但重要的是,我需要处理鼠标事件,我不知道如何附加它们.

wpf events datatemplate mvvm

5
推荐指数
2
解决办法
1万
查看次数

如何判断一个类/方法是否可以使用反射访问?

我使用动态程序集在运行时创建派生类。如何使用反射判断基类和基类中的各个方法是否可以在动态程序集中的派生类中使用/调用?

.net reflection visibility reflection.emit

5
推荐指数
1
解决办法
224
查看次数

WinCE 和 Linux 上的 ARM 调用约定?

WinCE 和 Linux 在 ARM 上使用相同的调用约定吗?有什么区别?

到目前为止,我发现的文件并没有很好地解释。例如,在http://msdn.microsoft.com/en-us/library/ms864497.aspx 上,一行显示“Windows CE .NET 编译器”,下一行显示“ARM 编译器”,而“CLARM " 在底部,并不清楚它是指相同的编译器还是不同的编译器。这是我迄今为止发现的......

  • ARM 调用序列规范(WinCE) - 写得不好的文档
  • ARM 到 C 调用约定(Linux) - 非正式解释
  • 维基百科- 没有指定操作系统,也没有说明如何处理结构、浮点数或 64 位数字,也没有说明额外参数放在哪里以防它们不适合寄存器。
  • 更新:ARM 体系结构的过程调用标准- 最后我找到了一个全面的文档,但它没有说明哪些操作系统遵循标准(或者这些操作系统可能施加哪些变体或附加约束)。

我问的原因是我想尝试在 WinCE 中使用 LLVM 在运行时生成一些简单的代码,但它只正式支持 Linux。

linux arm calling-convention windows-ce

5
推荐指数
1
解决办法
1704
查看次数

PropertyGrid可以编辑任何旧的键值对列表吗?

我见过的所有PropertyGrid示例都允许用户编辑单个对象,PropertyGrid通过反射进行扫描.我希望用户能够编辑例如ini文件或普通旧词典,每个键值对一行.这可能吗?

.net propertygrid winforms

5
推荐指数
1
解决办法
3648
查看次数

是否有针对ipv4和ipv6地址的标准.NET解码器?

我想写一个相当简单的客户端 - 服务器网络应用程序.我只使用纯粹的IPv4网络,但是对于面向未来的代码我会很高兴.我可能会使用TcpListener/TcpClient,因为对WCF的初步调查显示它设置过于复杂并且难以理解.

对于客户端,.NET是否提供了一种工具来自动解码包含IPv4或IPv6地址的字符串(其中IPv4地址包含端口号)?奖励积分,如果它可以解析域名.

对于服务器端,我听说IPv6不使用端口号,那么什么相当于要监听的端口,是否有一种标准方法可以区分IPv4端口号字符串和IPv6等价物?没关系,IPv6服务有16位端口号,就像IPv4服务器一样.

.net ipv4 ipv6

5
推荐指数
2
解决办法
2719
查看次数