小编S..*_*..K的帖子

宏在C++中的优势

我们知道内联是有利的,因为它们被编译器检查,并且与宏相比,当作为参数传递时,相同的操作(如++ x)不会评估多次.

但是在一次采访中,我被问到当宏更有利于在C++中内联时的具体优势或情况.

有谁知道答案或者可以对这个问题进行思考?

c++ macros inline c-preprocessor

7
推荐指数
2
解决办法
3658
查看次数

java嵌套接口和内部类

为什么java嵌套接口不能是非静态的?为什么内部类不能包含静态非最终成员?

我在经过Gosling时遇到了一些问题,但还没有找到答案.

java static final interface inner-classes

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

Cormen quicksort

在"算法简介"一书中,Quicksort一章中描述的快速排序算法不使用Hoare-Partitioning.

任何人都可以通过这种方法优于流行的hoare-partitioning来启发我.或者它只是作者的选择问题?

algorithm quicksort data-partitioning

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

从概率相等的集合中选择数字

从Steven Skiena的算法设计手册中得到了这个问题.

需要选择k(给定值)数以从具有n个数的给定集合S形成子集S',使得每个数的选择概率相等(k/n).n是未知的(我正考虑将S作为链接列表).另外,我们只能通过集合S.

random algorithm numbers set

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

关于C中的malloc()和free()

我有以下C代码:

#include<stdio.h>
#include<stdlib.h>

typedef struct node
{
    int a;
}node;

int main()
{
    node * n;

    printf("\n%d\n",n->a);

    n  = (node *) malloc ( sizeof( node ));

    printf("\n%d\n",n->a);
    n->a = 6;
    printf("\n%d\n",n->a);
    free(n);
    printf("\n%d\n",n->a);
    n->a = 4;
    printf("\n%d\n",n->a);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

获得的输出是:

1314172

0

6

0

4

我的问题是即使在free(n)之后,为什么n-> a = 0,我们如何将它重新分配给任何值,如n-> a = 4?

不自由使n指向的内存块无效吗?

c heap malloc free pointers

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

是否有一些"可自由"的记忆

int main()
{
    char *s1, *sTemp;

    s1 = (char*)malloc(sizeof(char)*7);
    *(s1 + 0) = 'a';
    *(s1 + 1) = 'b';
    *(s1 + 2) = 'c';
    *(s1 + 3) = 'd';
    *(s1 + 4) = 'e';
    *(s1 + 5) = 'f';
    *(s1 + 6) = '\0';

    sTemp = (s1 + 3);

    free(sTemp); // shud delete d onwards. But it doesn't !!

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

你好,

在上面的C中,代码sTemp应指向超出的第3个单元格s1(由'd'占用)所以在调用时free(sTemp)我希望从此位置开始删除某些内容.

(我故意提到' 某事 ',因为我的实验最初的动机是找出free()ing工作的位置)

但是我收到一个SIGABRT在 …

c malloc free pointers memory-management

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

如果运营商在Kotlin投掷

在kotlin中重写下面的代码会有什么更优雅的方法.

if (xList.isEmpty()) {
   throw SomeException("xList was empty")
}
Run Code Online (Sandbox Code Playgroud)

我们有一个throwif运算符吗?

kotlin

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