1.#ifndef _SQ_STACK_H_ #define _SQ_STACK_H_ 什么作用?
2.C++无法打开Stack.h
#ifndef _SQ_STACK_H_ #define _SQ_STACK_H_ 什么作用?
条件宏定义,可以避免被多个文件包含时产生重复定义或声明。文件sqlite 0.1版源码
例如你的文件linuxphp源码包安装工程里有3个文件都包含sq_stack.h这个头文件,预编译时显然会导致产生3倍的文件网站python源码大全声明或定义。解决的文件仙境传说ro源码办法就是像这样添加条件宏定义,这样预编译的文件unity单机江湖源码时候在第一次处理sq_stack.h头文件之后,_SQ_STACK_H_这个符号就被定义了,文件之后重复处理sq_stack.h时就知道已经被处理过,文件跳过重复的文件预编译。
C++无法打开Stack.h
c++中是文件#include<stack>#include <iostream>
#include <stack> //使用stack需要包含此头文件
using namespace std;
int main()
{
int n, k;
stack <int> stk;
cin >> n >> k; //将n转换为k进制数
if (n == 0) {
cout << 0;
return 0;
}
while (n) {
stk.push(n%k);
n /= k;
}
while (!stk.empty()) {
cout << stk.top();
stk.pop();
}
return 0;
}