m2;int i=1;char*p;char str[10]="hello";char*q="hello";p=(char*)malloc(100);free(p);printf("栈区-变量地址 i:%p\n",&i);printf("栈区-变量地址 p:%p\n",&p);printf("栈区-变量地址 str:%p\n",str);printf("栈区-变量地址 q:%p\n",&...
//---a.cpp---int a = 1;staticint b = 1; //仅在该文件内部可见//---main.cpp---#include<iostream>externint a;// extern int b;intmain(){std::cout << a << std::endl;// std::cout << b << std::endl; // 错误,导致程序编译报错return;}static修饰函数static修饰函数的作用与...
具体的应用是:可以在头文件里写变量和函数,然后用static做前缀,这样子在两个cpp文件里同时包含该头文件时就不会出错,毕竟#include的原理就是复制粘贴。更具体的应用场景可以参考在类中用私有成员时的场景,基本上static用的越多越好,如果不想让变量全局可见的话(毕竟全局可见其实是相当痛苦的事情,很容易一个cpp影响...
intmain() { cout<<"sizeof(Rectangle)="<<sizeof(Rectangle)<<endl; Rectangle*rect1 =newRectangle(3,4); rect1->GetSum(); cout<<"sizeof(rect1)="<<sizeof(*rect1)<<endl; Rectangle rect2(2,3); rect2.GetSum(); cout<<"sizeof(rect2)="<<sizeof(rect2)<<endl; system("pause");...
// tu-two.cpp #include<iostream> // refers to the var_1 defined in the tu-one.cpp externintvar_1; intmain{ std::cout<< var_1 <<"\n";// prints 42 } 若是再考虑组合 const 进行修饰,情况则又不相同。 如果一个全局变量没有使用const 修饰,那么它默认就有 extern 链接,无需多此一举再...
static int varA;int varB;extern void funA(){……} static void funB(){……} //file2.cpp extern int varB; // 使用file1.cpp中定义的全局变量extern int varA; // 错误! varA是static类型, 无法在其他文件中使用extern vod funA(); // 使用file1.cpp中定义的函数extern void funB(); // 错...
cpp:27:16: error: ISO C++ forbids in-class initialization of non-const static member ‘CBOOK::x’ int CBOOK::x =100; 可以使用类初始化的对象来调用静态成员,但是一般不会这样做,因为会容易理解错误,静态成员是属于整体的而不是类对象。 代码语言:javascript 代码运行次数:0 运行 AI代码解释 #include<...
#include <iostream> using namespace std; class Something { public: static void staticFunc();// 静态函数成员 static int getV1();// 静态函数成员 void ordinaryFunc(); int getV2(); }; void Something::staticFunc(){cout << "This is static."<< endl;} //注意:在这里不用加上static了。
{ std::cout<<"this is static func in a.cpp."<<std::endl;} //---main.cpp---#include <iostream>extern void fn1(); // 使用extern声明其他文件的fn(),供main.cpp使用// extern void fn2();int main(){ fn1(); // fn2(); // 错误,编译报错 return...
static int res = a + b; cout << "res => " << res << ", current thread id => " << std::this_thread::get_id() << endl; } Windows下的MSVC编译器的实现 静态局部变量func_a_value func_a函数中是以常量初始化静态局部变量func_a_value,因此编译...