Tag: C#的

漂亮的C ++ STL容器

请注意这篇文章末尾的更新。 更新:我已经在GitHub上为这个库创build了一个公共项目 ! 我想有一个单一的模板,一劳永逸地照顾漂亮的打印所有STL容器通过operator<< 。 在伪代码中,我正在寻找这样的东西: template<container C, class T, String delim = ", ", String open = "[", String close = "]"> std::ostream & operator<<(std::ostream & o, const C<T> & x) { o << open; // for (typename C::const_iterator i = x.begin(); i != x.end(); i++) /* Old-school */ for (auto i = x.begin(); […]

为什么派生类中的重载函数隐藏了基类的其他重载?

考虑下面的代码: #include <stdio.h> class Base { public: virtual void gogo(int a){ printf(" Base :: gogo (int) \n"); }; virtual void gogo(int* a){ printf(" Base :: gogo (int*) \n"); }; }; class Derived : public Base{ public: virtual void gogo(int* a){ printf(" Derived :: gogo (int*) \n"); }; }; int main(){ Derived obj; obj.gogo(7); } 得到这个错误: […]

如何使用POSIX执行一个命令并在C ++中获取命令的输出?

我正在寻找一种方法来获取从C ++程序运行时的命令的输出。 我已经看过使用system()函数,但这只是执行一个命令。 这里是我正在寻找的一个例子: std::string result = system( "./some_command" ) ; 我需要运行一个任意的命令,并得到它的输出。 我看过Boost.org,但是我还没有find任何能够给我所需要的东西。

我如何确定我的数组在C中的大小?

我如何确定我的数组在C中的大小? 也就是说,数组可以容纳的元素的数量?

“static const”vs“#define”vs“enum”

在C中的下面的语句中哪一个更好用? static const int var = 5; 要么 #define var 5 要么 enum { var = 5 };

为什么不能在switch语句中声明variables?

我一直在想这个 – 为什么你不能在switch语句的case标签之后声明variables? 在C ++中,你可以在任何地方声明variables(并声明它们接近第一次使用显然是一件好事),但下面的代码仍然不起作用: switch (val) { case VAL: // This won't work int newVal = 42; break; case ANOTHER_VAL: … break; } 以上给我以下错误(MSC): 'newVal'的初始化由'case'标签跳过 这似乎也是其他语言的限制。 为什么会出现这样的问题?

如何使HTTP POST Web请求

如何使用POST方法发出HTTP请求并发送一些数据? 我可以做GET请求,但不知道如何做POST 。

string文字:他们去哪里?

我感兴趣的是在哪里string文字分配/存储。 我在这里find了一个有趣的答案,他说: 定义一个内联string实际上是embedded在程序本身的数据,不能改变(一些编译器允许这个聪明的把戏,不要打扰)。 但是,这与C ++有关,更不用说它不说了。 我很烦。 = d 所以我的问题是我的string文字保存在哪里以及如何? 为什么我不应该试图改变它? 实施是否因平台而异? 有没有人关心“巧妙的把戏”?

如何制作只接受数字的文本框?

我有一个窗体应用程序与一个文本框控件,我只想接受整数值。 在过去,我通过重载KeyPress事件来完成这种validation,只是删除不符合规范的字符。 我已经看了MaskedTextBox控件,但我想要一个更通用的解决scheme,可能与正则expression式一起工作,或者依赖于其他控件的值。 理想情况下,这将performance为按非数字字符不会产生任何结果,或者立即向用户提供关于无效字符的反馈。

比较浮点值有多危险?

我知道UIKit使用CGFloat是因为独立于坐标系的分辨率。 但每次我想检查是否例如frame.origin.x是0它使我感到不舒服: if (theView.frame.origin.x == 0) { // do important operation } 与== , <= , >= , < , >比较, CGFloat是否容易受到误报? 这是一个浮点,他们有无法解决的问题:例如, 0.0000000000041 。 Objective-C是在比较内部还是在内部处理这个问题,或者可能会发生这样的情况: origin.x读取为零,而不是与0比较为真?