小编Stu*_*orn的帖子

为什么我不能为函数的形式参数指定存储类?

当我这样做时,代码工作正常:

#include <stdio.h>
void test( int a)
{
 printf("a=%d\n",a);   
}

int main()
{
    test(10);
    return 1;
}
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做

#include <stdio.h>
void test( auto int a) // Or static int a Or extern int a
{
 printf("a=%d\n",a);   
}

int main()
{
    test(10);
    return 1;
}
Run Code Online (Sandbox Code Playgroud)

它会产生错误,

错误:为参数'a'指定的存储类

为什么会出错?内部会发生什么(内存管理)?

但是当我这样做时,它没有任何错误地工作正常:

void test( register int a)
{
 printf("a=%d\n",a);   
}
Run Code Online (Sandbox Code Playgroud)

这是为什么?

c function formal-languages storage-class-specifier

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

Windows OS的32位和64位版本的页面大小是多少?

我想知道32位和64位版本的Windows Os中虚拟内存的默认页面大小。例如:Linux(x86)的页面大小是4 Kb

windows memory-management virtual-memory

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

为什么复制构造函数在下面的代码中被调用两次?

任何人都可以解释为什么这里的复制构造函数被调用两次?

class  A 
{
    int i;
    public:
    A(){cout<<"IN constr"<<endl;};
    A(int x):i(x) {};
     A (A &a)
     {
         cout<<"in copy"<<endl;
         i= a.i;
     }
};

class MyClass {
    A var;
public:
    MyClass(A a):var(a) {
                     }
};

int main() {

    A a1;
    MyClass m(a1);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,put是:

IN constr
in copy
in copy
Run Code Online (Sandbox Code Playgroud)

我可以理解有一次它复制a到变量中var,但是当它第二次被调用时?

c++

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

什么是频道事件系统?

我正在某个项目中处理uc ATxmega128A1,但是作为ucontroller的初学者,我想知道关于ucs的此通道事件系统是什么。我引用了一个链接http://www.atmel.com/Images/doc8071.pdf,但没有得到它。

microcontroller events avr

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