相关疑难解决方法(0)

Java中的修饰符关键字顺序

每当我用Java编写带有更多关键字的方法时public void,每次我用另一种方式编写它.有时" static public void"有时" public static void"等.

这些关键字的最佳订单(最佳做法)是什么?

[ abstract/static] [ final] [ synchronized] [ public/private/protected] [ result_type] ???

java syntax coding-style access-modifiers

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

"长期无符号"在C中是否与"unsigned long"一样有效?

一个问题是最近被问及是否ULLLLU有效期为在指定C.为unsigned long long常量我知道他们俩都是有效的,但我在想,ULL将是可取的,因为它相匹配的类型unsigned long long.

但是,我现在不太确定.该gcc编译器允许毫无怨言以下几点:

int main(void) {
    unsigned int a = 1;
    int unsigned b = 2;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:是int unsigned和其他变体一样long long unsigned,根据标准的有效类型?

c types

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

C中“静态”函数关键字与返回类型说明符的顺序

希望这不是与 C 中“静态”函数的含义相关的许多其他问题的重复。

我们支持一些包含以下内容的传统原生 C 代码......(不要问我为什么要重新 VOID/void)

#define VOID void
#define LOCAL static
...
VOID LOCAL vLoMyMethod();
Run Code Online (Sandbox Code Playgroud)

据推测,预处理器将后者转换为

void static vLoMyMethod();
Run Code Online (Sandbox Code Playgroud)

编译器(Visual Studio 2015,大概是相对普通的标志/设置,警告级别 W3)对此似乎没问题,尽管我的理解是“静态”应该出现在返回类型说明符之前,即

static void vLoMyMethod();
Run Code Online (Sandbox Code Playgroud)

这些在语法上是否相同并且都正确?如果不是,为什么编译器会接受前者可能不正确的语法?

编辑 1

到目前为止,感谢您的回答。有趣的是,我不确定它们是否 100% 等效并且在所有情况下都可以接受,ala:

char * static vLoMyMethod1();   // compiler complains about expecting 'type' (intellisense wants an identifier)
static char * vLoMyMethod2();   // compiler is fine 
Run Code Online (Sandbox Code Playgroud)

c static-methods static-functions

0
推荐指数
1
解决办法
395
查看次数