小编Red*_*ena的帖子

抽象类与特质的区别

可能重复:
Scala特征与抽象类

抽象类和特征之间的概念差异是什么?

abstract-class scala traits

91
推荐指数
4
解决办法
5万
查看次数

Java中的命名参数习语

如何在Java中实现命名参数习语?(特别是对于构造函数)

我正在寻找类似Objective-C的语法,而不是像JavaBeans中使用的语法.

一个小代码示例就可以了.

谢谢.

java idioms

71
推荐指数
10
解决办法
5万
查看次数

C++中的函数式编程

有人可以指导我如何在C++中进行函数式编程吗?我可以参考哪些好的在线资料?

请注意,我知道库FC++.我想知道如何单独使用C++标准库.

谢谢.

c++ functional-programming

52
推荐指数
4
解决办法
2万
查看次数

为什么结构需要装箱?

在C#,任何用户定义的struct自动是的一个子类System.Struct System.ValueTypeSystem.Struct System.ValueType是的一个子类System.Object.

但是当我们为对象类型引用分配一些结构时,它会被装箱.例如:

struct A
{
    public int i;
}

A a;
object obj = a;  // boxing takes place here
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:如果A是后代System.Object,编译器不能将它上传到对象类型而不是装箱吗?

c# struct boxing

18
推荐指数
3
解决办法
6649
查看次数

运算符重载Java插件

我见过一些不错的Java编译器黑客,你可以用throw-exception语句替换断言,你可以为字段自动生成属性等等......

我只是想知道...

是否有可能破解Java编译器以便它支持运算符重载?

编辑:

这并不是说我错过了Java中的运算符重载等等.我只是想知道是否可以使用上面给出的链接中提到的hack来实现它.所以请不要建议我切换到其他语言,如Scala(我已经在学习了!:D).

编辑:

请告诉我是否可以使用JSR 269或类似的东西来做到这一点.:|

谢谢.

java compiler-construction

8
推荐指数
1
解决办法
1213
查看次数

以下代码是否调用UB?

以下代码是否调用UB?

int main(){
  volatile int i = 0;
  volatile int* p = &i;
  int j = ++i * *p;
}
Run Code Online (Sandbox Code Playgroud)

c++ undefined-behavior

8
推荐指数
2
解决办法
433
查看次数

C++中的高阶函数«filter»

我想filter用C++ 编写一个更高阶的函数.我到目前为止提出的代码如下:

#include <iostream>
#include <string>
#include <functional>
#include <algorithm>
#include <vector>
#include <list>
#include <iterator>

using namespace std;

bool isOdd(int const i) {
  return i % 2 != 0;
}

template <
  template <class, class> class Container,
  class Predicate,
  class Allocator,
  class A
>
Container<A, Allocator> filter(Container<A, Allocator> const & container, Predicate const & pred) {
  Container<A, Allocator> filtered(container);
  container.erase(remove_if(filtered.begin(), filtered.end(), pred), filtered.end());
  return filtered;
}

int main() {
  int const a[] = {23, 12, 78, 21, …
Run Code Online (Sandbox Code Playgroud)

c++ templates stl higher-order-functions

3
推荐指数
1
解决办法
8499
查看次数

获取Java中的月份名称

我想以编程方式将1-12范围内的整数转换为相应的月份名称.(例如1 - > 1月,2 - > 2月)等在一个语句中使用Java Calendar类.

注意:我想仅使用Java Calendar类来完成它.不建议任何开关盒或字符串阵列解决方案.

谢谢.

java calendar

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

如何实现`scala.Enumeration $ Value`中的`toString`?

我有一个枚举Fruit定义为:

object Fruit extends Enumeration {
  val Apple, Banana, Cherry = Value
}
Run Code Online (Sandbox Code Playgroud)

现在,在Scala 2.7.x上打印此枚举的值给出:

scala> Fruit foreach println
line1$object$$iw$$iw$Fruit(0)
line1$object$$iw$$iw$Fruit(1)
line1$object$$iw$$iw$Fruit(2)
Run Code Online (Sandbox Code Playgroud)

但是,Scala 2.8上的相同操作给出:

scala> Fruit foreach println       
warning: there were deprecation warnings; re-run with -deprecation for details
Apple
Banana
Cherry
Run Code Online (Sandbox Code Playgroud)

我的问题是:

该方法是如何toStringEnumeration斯卡拉2.8实现的?我试着查看源代码,Enumeration但无法理解任何事情.

enumeration scala

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