小编kon*_*ych的帖子

使功能无法覆盖

我知道python函数默认是虚拟的.假设我有这个:

class Foo:
    def __init__(self, args):
        do some stuff
    def goo():
        print "You can overload me"
    def roo():
        print "You cannot overload me"
Run Code Online (Sandbox Code Playgroud)

我不希望他们能够做到这一点:

class Aoo(Foo):
    def roo():
        print "I don't want you to be able to do this"
Run Code Online (Sandbox Code Playgroud)

有没有办法防止用户超载roo()?

python

16
推荐指数
4
解决办法
3656
查看次数

在C中使用typedef时,是否使用指向struct的指针

为了在C中定义新的数据类型,例如链表的类型,
可以使用以下定义之一

struct list_node {
    int x;
    struct list_node * next;
};

//1
typedef struct list_node list1;
//2
typedef struct list_node *list2;
Run Code Online (Sandbox Code Playgroud)

从我所看到的,通常的做法是第一个定义.

问题是第二个定义是否也是可接受的做法.在哪种情况下,如果有人应该比第一个更喜欢第二个?如果我们使用的变量是struct list_node的指针,那么可以对两种类型执行相同的操作吗?第一个有什么好处?

c struct pointers typedef list

7
推荐指数
1
解决办法
1707
查看次数

声明抛出此异常的异常和子类的方法

声明抛出异常的方法和此异常的子类(例如IOExceptionFileNotFoundException)是否有意义?

我猜它是用来通过调用方法处理两个异常的方式不同.但是,如果方法抛出最通用的IOException,是否可以处理两个异常?

java exception-handling

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

如何有效地使用常量值在Java中初始化数组

有没有办法将整数数组(或可能是任何数组)初始化为除零(或null)以外的常量值,这是默认值,没有for循环?

理想情况下,我在matlab中寻找像"ones"这样的功能,它不仅更整洁,而且效率更高.

java arrays initialization

4
推荐指数
1
解决办法
1911
查看次数

在javascript中对数组中的每个数字进行平方

我试图将数组中的每个数字对齐并且我的原始代码不起作用.我查找了另一种方法,但我想知道为什么原始代码不起作用.

原始代码:

function(arr) {

    ret= [];            

    for (var i = 0, len = arr.length; i < len; i++) {
        root = Math.sqrt(arr[i]);
        ret.push(root);
    }

    return ret;
}
Run Code Online (Sandbox Code Playgroud)

工作守则:

function(arr) {

    ret= [];

    for (var i = 0, len = arr.length; i < len; i++) {
        ret.push(arr[i] * arr[i]);
    }

    return ret;     
}
Run Code Online (Sandbox Code Playgroud)

javascript

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