小编Gri*_*han的帖子

生成随机布尔值

我有点陷入一个简单的问题:如何生成一个简单的随机布尔值?
如果是正确的,一个Boolean 0 = false and 1 = true,但如何起诉呢?

当前代码:

Dim RandGen As New Random
Dim RandBool As Boolean
RandBool = Boolean.Parse(RandGen.Next(0, 1).tostring)
Run Code Online (Sandbox Code Playgroud)

vb.net random

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

当nfds为0时,"select"会做什么?

int select(int nfds, 
           fd_set *readfds, 
           fd_set *writefds, 
           fd_set *exceptfds, 
           struct timeval *timeout);
Run Code Online (Sandbox Code Playgroud)

第一个参数select,nfds被认为是最大的文件描述符加1,应至少为1
,但我已经看到了一些代码设置NFDs的是0,这是使用合法的吗?
另外,返回值select设置为EINVALwhen nfds为负数或timeout包含无效值.同样,它没有指定nfds0 时发生的情况.

c linux

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

取幂运算的明确语法

E -> E+T | E-T | T
T -> T*F | T/F | F
F -> i | (E)
Run Code Online (Sandbox Code Playgroud)

如何修改此语法以允许取幂操作^以便我可以编写i+i^i*i?既然我们知道操作的顺序更高,^那么我所知道的是我必须使其正确关联.

context-free-grammar

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

为什么int/byte/short/long可以在没有类型转换的情况下转换为float/double,反之亦然

我的代码是这样的 -

public void abc{     
 long a=1111;
 float b=a; // this works fine even though this is narrowing conversion
 long c=b;// this gives compilation error
}
Run Code Online (Sandbox Code Playgroud)

你能解释一下为什么会这样吗?

java variables

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

在C中,当用作函数参数时,*也表示与void相同吗?

例如,查看以下(抽象)声明:

int (*) (*)
Run Code Online (Sandbox Code Playgroud)

//指向返回int且不带参数的函数的指针

(我从以下网站获得:http://www.vineetgupta.com/blog/deciphering-complex-c-declarations)

我认为只有无效意味着没有争论.这真的意味着同样的事情:

int (*) (void)
Run Code Online (Sandbox Code Playgroud)

如果是这样,它在哪里声明*可用于指定无参数?

另外,我是否正确假设这样的抽象声明只存在于类型转换中?如果是这样,那么它的当前形式必须是无效的,因为它缺少周围的括号吗?所以int(*)(void)无效,但是(int(*)(void))有效,不是吗?

c

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

C++:将包含数组的结构作为arg传递,我是否需要作为指针传递?

如果我有这样的结构:

struct S
{
    int arr[10];
    int x;
}
Run Code Online (Sandbox Code Playgroud)

如果我有一个功能

void some_fun( struct S myS );
Run Code Online (Sandbox Code Playgroud)

当我将struct S传递给该函数时,是否会正确复制数组,或者我必须将函数更改为:

void some_fun( struct S * myS ); ?
Run Code Online (Sandbox Code Playgroud)

我已经测试了这个(它没有指针就可以工作)但我对C/C++有点不安全,有时即使它是错误的也有效.

c++ arrays struct

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

动态分配数组解释

这是我的老师向我们展示的示例代码"如何在C中动态分配数组?".但我不完全理解这一点.这是代码:

int k;
int** test;
printf("Enter a value for k: ");
scanf("%d", &k);
test = (int **)malloc(k * sizeof(int*));
for (i = 0; i < k; i++) {
    test[i] = (int*)malloc(k * sizeof(int)); //Initialize all the values
}
Run Code Online (Sandbox Code Playgroud)

我想在C中,定义一个你必须把它放在[]名字后面的数组,那究竟是什么int** test; 它不仅仅是一个指针指针吗?这malloc()条线也让我很困惑.....

c arrays pointers dynamic-arrays

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

`if(x = 0)`是否是Java可编译的

Scott Ambler在他的书" Java编码标准"中说,我很感兴趣,并引用:

2.5.2在比较的左侧放置常数

所以他建议使用

if ( 1 == something ) {…}    
if ( 0 = x ) { …}
Run Code Online (Sandbox Code Playgroud)

代替

if ( something == 1 ) {…}    
if ( x = 0 ) { …}  
Run Code Online (Sandbox Code Playgroud)

我的天啊 !!!

他通过这样说来激励这一点:

"虽然它们都是等价的,至少在第一次检查时,左边的代码编译而右边的代码没有."

我知道(当我开始编写Java时,Java 14已经在使用中),这两种情况都会引发编译器错误.

从Ambler语句开始,我试图搜索Java语法if ( x = 0 );是否可编译.

你能帮我解决这个问题吗?我搜索了不同版本的JSR,我没有发现任何可能表明该代码在其他java版本上进行编译的更改.

我使用目标和源1.2编译Jre7编译器仍然会引发编译器错误.不幸的是我没有Java 1.1编译器:9

我的问题是:

if(x = 0); 是否可与旧版Java编译器兼容?

java convention compilation version conditional-statements

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

字符串比较似乎不适用于从文件读取的行

我有一个名为test.txt包含以下内容的文件:

Line 1
Line 2
Line 3
Line 4
Run Code Online (Sandbox Code Playgroud)

我有这样简单的Python程序:

f = open("test.txt")

myline = "Line 3"
for line in f:
    print myline + " - " + line
    if myline == line:
        print "We have a match!"

if myline == "Line 3":
    print "This works."
Run Code Online (Sandbox Code Playgroud)

我得到了这个结果:

Line 3 - Line 1

Line 3 - Line 2

Line 3 - Line 3

Line 3 - Line 4

This works.
Run Code Online (Sandbox Code Playgroud)

为什么不"我们有匹配!" 打印?

我错过了什么?

python

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

Django使用元组列表过滤多个列

我有一个简单的模型有2个字段:

class Simple(Model)
    class Meta:
        index_together = True

    a = IntField()
    b = IntField()
Run Code Online (Sandbox Code Playgroud)

我想为值的元组生成一个SQL查询a,b.例如

select * 
from SimpleModel 
where (a,b) in ((1,1), (4,8), ...)
Run Code Online (Sandbox Code Playgroud)

我知道如何创建类似的东西:

select * 
from SimpleModel 
where ((a = 1 and b = 1) or (a = 4 and b = 8))
Run Code Online (Sandbox Code Playgroud)

这在逻辑上是相同的,但我认为我的数据库在可能值的数量非常大(我使用Postgresql)时会出现问题,查询本身也会长得多,所以它在网络上更重,并且可能更难正确分析和读取(即在这种情况下使用复合索引).

所以,问题是,我可以让Django以第一种形式创建查询吗?

谢谢!

sql django-models

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