相关疑难解决方法(0)

为什么"使用命名空间std"被认为是不好的做法?

我已经告诉别人,编写using namespace std;代码是错误的,我应该用std::coutstd::cin直接代替.

为什么被using namespace std;认为是不好的做法?是低效还是冒着声明模糊变量(与名称std空间中的函数具有相同名称的变量)的风险?它会影响性能吗?

c++ namespaces using-directives std c++-faq

2486
推荐指数
36
解决办法
78万
查看次数

为什么使用带有Java import语句的通配符不好?

使用单个语句更方便,更清晰

import java.awt.*;
Run Code Online (Sandbox Code Playgroud)

而不是导入一堆个别类

import java.awt.Panel;
import java.awt.Graphics;
import java.awt.Canvas;
...
Run Code Online (Sandbox Code Playgroud)

import声明中使用通配符有什么问题?

java import wildcard

384
推荐指数
12
解决办法
13万
查看次数

全局命名空间会被污染是什么意思?

全局命名空间会被污染是什么意思?

我真的不明白受污染的全局命名空间意味着什么.

javascript

87
推荐指数
3
解决办法
3万
查看次数

解决模棱两可的参考

我正在尝试创建一个与我的图表工具一起使用的管理器类,问题是我使用的工具,对3d和2d图表使用相同的名称,当我尝试添加2d库时导致模糊引用.任何想法如何最好地解决这个问题?

例如,

using tool.2dChartLib;
using tool.3dChartLib;
Run Code Online (Sandbox Code Playgroud)

BorderStyle是这两者的成员

我已经尝试过使用BorderStyle的区域.我想它可以工作,如果我只是参考,tool但那意味着我将有数百tool.class行代替class

c#

42
推荐指数
3
解决办法
6万
查看次数

污染全局命名空间

我认为这里的大多数C++程序员都同意污染全局命名空间是一个坏主意,但是有时候可以忽略这个规则吗?

例如,我有一个我需要在特定应用程序中使用的类型 - 我应该如此定义它:

mytypes.h

typedef int MY_TYPE;

foo.cpp

MY_TYPE myType;
Run Code Online (Sandbox Code Playgroud)

或使用命名空间:

mytypes.h

namespace ns {
typedef int MY_TYPE;
}

foo.cpp

ns::MY_TYPE myType;
...
using namespace ns;
MY_TYPE myType;
Run Code Online (Sandbox Code Playgroud)

你喜欢哪个?是否有可能使用第一种方法?

c++ typedef namespaces

2
推荐指数
3
解决办法
3127
查看次数

标签 统计

c++ ×2

namespaces ×2

c# ×1

c++-faq ×1

import ×1

java ×1

javascript ×1

std ×1

typedef ×1

using-directives ×1

wildcard ×1