7得票5回答
左手坐标系的历史原因

我觉得(0,0)映射到屏幕的左上角有点不太直观。在Java Swing中使用左手坐标系是否有历史原因? 虽然将其映射为右手坐标系并不太困难,但我很想知道使用左手坐标系是否有任何隐藏的好处。

12得票5回答
Perl版本之间的向后不兼容性有哪些具体示例?

自1987年12月18日发布Perl 1.0以来,到当前稳定版本5.10.1(2009),已经过去了22年。 在这22年里,发行了以下值得注意的版本: - Perl 1.0(1987年 - 初始版本) - Perl 2(1988年 - 更好的正则表达式) - Perl 3(1989年 - ...

25得票1回答
“Hero unit”的含义是什么?

“英雄”一词的含义是什么,为什么要用它来命名站点/页面的“主要信息”? 具体来说,我想知道“英雄”这个术语或短语“英雄单元”是否是在网页设计中常用的术语,而我却没有注意到。

22得票18回答
C#受到C++的启发比Java更多,这是为什么?

看到C#的历史,我发现C#被看作是对C和/或C++的更新。这让我有点惊讶,因为在表面上,我看到C#和Java之间有更多共同的思想(垃圾收集)。我不用Java编写代码,但通常没有问题跟进Java代码,并经常阅读关于Java模式的书籍,我可以轻松地将其转换为C#,但对于C++,我不能如此自信。 所...

43得票5回答
C编译器为什么在外部名称前加下划线?

我已经在C语言中工作了很长时间,编译器通常在extern的开头添加下划线这一事实是可以理解的... 然而,今天的另一个SO问题让我想知道下划线被添加的真正原因。维基百科文章声称原因是: C编译器普遍使用在程序标识符前加上下划线以避免与运行时语言支持的贡献发生冲突。 我认为这至少有一...

11得票1回答
复杂的作用域规则在友元声明中是有何意义的?

我最近发现友元声明的作用域遵循极其特殊的规则-如果您对未经声明的函数或类进行了friend声明(定义),它会自动在最近封闭的命名空间中进行声明(定义),但是它对非限定和限定查找不可见; 但是,友元函数声明通过参数相关查找仍然可见。struct M { friend void foo()...

44得票7回答
Java的一元加运算符有什么用途?

Java的一元加运算符似乎是从C语言通过C++传承而来的。int result = +1; 它似乎具有以下效果: 如果操作数是包装器对象,则取消其封箱 将其操作数提升为int,如果它还不是int或更广的类型 稍微复杂化了包含大量连续加号的恶意表达式的解析 在我看来,有更好/更清晰...

149得票11回答
PHP中的大写布尔值 vs 小写:有什么区别?

当我学习PHP的时候,曾在某处读到应始终使用布尔值的大写版本TRUE和FALSE,因为“常规”的小写版本true和false使用起来不太“安全”。现在已经过去了很多年,我编写的每个PHP脚本都使用大写字母的版本。但是,我现在对此产生了疑问,因为我看到有很多PHP代码使用小写版本(例如Zend ...

21得票3回答
Python:为什么int类没有像`__lt __()`这样的丰富比较运算符?

主要是出于好奇。 我注意到(至少在 Python 2.6 和 2.7 中),float 具有所有熟悉的比较函数:__lt__()、__gt__()、__eq__() 等等。>>> (5.0).__gt__(4.5) True 但是一个int不行。>>> (...

14得票8回答
Python中静态方法的语法是如何选择的?

我已经使用Python一段时间了,我发现声明静态方法的语法很奇怪。 一个普通的方法会这样声明:def mymethod(self, params) ... return 声明了一个静态方法:def mystaticethod(params) ... return my...