如何判定一个变量是指针还是非指针

//如何判定一个变量是指针还是非指针 
#include <iostream>


using namespace std;
template<typename T>
void isPtr(T*)
{
	cout << "void isPtr(T*)" << endl;
}

void isPtr(...)
{
	cout << "void isPtr(...)" << endl;
}
int main()
{
	int i = 0;
	char j = 0;
	
	int* pi = NULL;
	float* pf = NULL;

	isPtr(i);
	isPtr(j);
	isPtr(pi);
	isPtr(pf);
	return 0;
}



//如何gaoxiao判定一个变量是指针还是非指针 
#include <iostream>


using namespace std;

template<typename T>
char isPtr(T*);
 
int isPtr(...);
#define ISPTR(v) (sizeof(isPtr(v))==sizeof(char))
int main()
{
	int i = 0;
	char j = 0;
	
	int* pi = NULL;
	float* pf = NULL;

	cout << ISPTR(i) << endl;
	cout << ISPTR(j) << endl;
	cout << ISPTR(pi) << endl;
	cout << ISPTR(pf) << endl;
	
	cout << ISPTR(0.5) << endl;
	cout << ISPTR("Hello!") << endl;
	return 0;
}


发布了199 篇原创文章 · 获赞 75 · 访问量 29万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览