首页 > 代码库 > cpp
cpp
//compile with:g++ sourceCode.cpp -o execAbledName
全局变量实现了函数间数据共享,使得变量不再因为某个函数的结束而消失
新问题:密码检测系统根据调用(用户输错密码)的次数来限制他进入系统
如果把调用 次数存放在一个局部变量里,显然不可行,虽然全局变量可以记录一个函数的运行次数,但是这个变量时被所有函数共享的,每个
函数都能修改它,很危险
面对上述问题迫切需要的是一个函数运行结束后不会消失,并且其他函数无法访问的变量
static local Variable 它在函数运行结束不会消失,并且只有声明它的函数才能使用
static int a;
使用静态局部变量可以让函数产生的数据更长期更安全地存储,.如果一个函数运行和它以前的运行结果有关,那么一般使用静态局部变量
密码检测系统案例
//compile with g++ passCheck.cpp -o passCheck//created byRuiy#include <iostream>#include <time.h>#include <stdlib.h>#include <iomanip>using namespace std;int main(){do{}while(password()! = true);//cout<<"Welcome to login system!"<<endl;return 0;}bool password(){static numOfRun = 0;//声明静态局部变量存放函数调用次数if (numOfRun < 3){int psw;cout<<"第"<<++numOfRun<<"次输入密码"<<endl;cin>>psw;if (psw == byRuiy){return true;}else{count<<"密码错误!"<<endl;return false;}}else {count<<"您已经输错密码三次!异常退出!"<<endl;exit(0);}}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。