C++关于using std::cout的问题
C++关于usingstd::cout的问题下面两个程序当中usingstd::cout的位置不同,但却都输出了同样的结果。请问一般情况下这两种写法有没有什么区别?//P...
C++关于using std::cout的问题
下面两个程序当中using std::cout的位置不同,但却都输出了同样的结果。请问一般情况下这两种写法有没有什么区别?
// Program 1.1A A simple C++ program
using std::cout;
#include <iostream>
int main() {
cout << "The best place to start is at the beginning\n";
return 0;
}
// Program 1.1A A simple C++ program
#include <iostream>
int main() {
using std::cout;
cout << "The best place to start is at the beginning\n";
return 0;
} 展开
下面两个程序当中using std::cout的位置不同,但却都输出了同样的结果。请问一般情况下这两种写法有没有什么区别?
// Program 1.1A A simple C++ program
using std::cout;
#include <iostream>
int main() {
cout << "The best place to start is at the beginning\n";
return 0;
}
// Program 1.1A A simple C++ program
#include <iostream>
int main() {
using std::cout;
cout << "The best place to start is at the beginning\n";
return 0;
} 展开
4个回答
展开全部
两种写法都可以,using的作用范围其实与#define或者全局变量定义有些类似,都是从这个语句之后到另一个using语句或者程序块结尾或者源文件结尾之前(没有被include的情况下),所以上面两种写法的cout语句都在using的作用范围内,所以结果都一样。
using很多时候是会放在文件头的,这不是因为放在其他地方不行,而是一般这样写比较清楚,看程序的人可以在一开始就知道用的是什么命名空间或对象,也不会担心在中间发生变化。当然也不是说写在中间就不行,只要结构清晰就可以了。
using很多时候是会放在文件头的,这不是因为放在其他地方不行,而是一般这样写比较清楚,看程序的人可以在一开始就知道用的是什么命名空间或对象,也不会担心在中间发生变化。当然也不是说写在中间就不行,只要结构清晰就可以了。
展开全部
(1)如果你是用的编译器支持最新ansi标准和非最新ansi标准,那么,这的却没什么区别。
(2)如果你的编译器只支持最新c++ansi标准,那么差别主要在于作用域。大括号内的,作用于大括号内所有语句块;大括号外的,作用于包括main函数在内的所有语句块。
(3)你可以通过调用函数来证明这一点。
// Program 1.1A A simple C++ program
#include <iostream>
using std::cout;//改行tsd::cout在iostream中,故应该写在这里
void coout();
int main() {
coout();//调用函数
return 0;
}
void coout()//语句块
{
cout << "The best place to start is at the beginning\n";
}
// Program 1.1A A simple C++ program
#include <iostream>//此程序在编译过程中将报错
void coout();
int main()
{
using std::cout;
coout;//调用函数
return 0;
}
void coout()
{
cout << "The best place to start is at the beginning\n";
}
运行一下,你就会发现问题
(3);使用using std::cout可行。
(2)如果你的编译器只支持最新c++ansi标准,那么差别主要在于作用域。大括号内的,作用于大括号内所有语句块;大括号外的,作用于包括main函数在内的所有语句块。
(3)你可以通过调用函数来证明这一点。
// Program 1.1A A simple C++ program
#include <iostream>
using std::cout;//改行tsd::cout在iostream中,故应该写在这里
void coout();
int main() {
coout();//调用函数
return 0;
}
void coout()//语句块
{
cout << "The best place to start is at the beginning\n";
}
// Program 1.1A A simple C++ program
#include <iostream>//此程序在编译过程中将报错
void coout();
int main()
{
using std::cout;
coout;//调用函数
return 0;
}
void coout()
{
cout << "The best place to start is at the beginning\n";
}
运行一下,你就会发现问题
(3);使用using std::cout可行。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
主要是作用域的差别。你写在cpp文件里的话一般没什么关系。
一般来说,using namespace 不要写在头文件里,容易污染其它名字空间
一般来说,using namespace 不要写在头文件里,容易污染其它名字空间
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果仅仅是这两个简单的程序,没啥区别。
实际上的区别是作用域不同,
在大括号里声明的东西,生命周期就只在这个大括号里。
而且一般用的都是using namespace std;
基本没见过你的using std::cout;
实际上的区别是作用域不同,
在大括号里声明的东西,生命周期就只在这个大括号里。
而且一般用的都是using namespace std;
基本没见过你的using std::cout;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询