标签: namespaces

C++命名空间,与Java包的比较

我最近做了一堆Java编码,已经习惯了非常具体的包命名系统,例如深度嵌套com.company.project.db.这在Java,AS3/Flex和C#中工作正常.我也看到了在C++中应用的相同范例,但我也听说将C++命名空间视为Java包的直接对应物是不好的.

这是真的,为什么?命名空间/包如何相似和不同?如果使用深层嵌套命名空间,可能会出现哪些问题?

c++ java namespaces packages

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

"import*"究竟是什么导入的?

在Python中,究竟是什么import *导入的?它是否__init__.py在包含文件夹中导入?

例如,是否有必要申报from project.model import __init__from project.model import *足够?

python namespaces python-import

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

在Laravel 4中使用名称空间

我是Laravel的新手并且通常使用PHP命名空间.在我决定制作名为File的模型之前,我没有遇到任何问题.我如何正确地进行命名空间,以便我可以使用我的File模型类?

文件是app/controllers/FilesController.phpapp/models/File.php.我正在努力创造一个新FileFilesController.php.

php namespaces laravel laravel-4

44
推荐指数
2
解决办法
4万
查看次数

XSL:避免将命名空间定义导出到生成的XML文档

我想从一些XML文件中获取数据并将它们转换为新的XML文档.但是,我不希望在结果文档中发生XSLT中的命名空间定义.

换一种说法:

资源:

<Namespace:Root xmlns:Namespace="http://www.something.com">
Run Code Online (Sandbox Code Playgroud)

样式表:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:Namespace="http://www.something.com">
Run Code Online (Sandbox Code Playgroud)

结果:

<resultRoot xmlns:Namespace="http://www.something.com">
<!--I don't want the Namespace definition above-->
Run Code Online (Sandbox Code Playgroud)

我正在使用msxsl进行转换.

xml xslt namespaces export msxsl

43
推荐指数
2
解决办法
5万
查看次数

私有类函数与未命名的命名空间中的函数

我发现自己不会有私人课程.如果可能的话,所有候选私有类函数,而不是我放入未命名的命名空间,并将所有必要的信息作为函数参数传递.我没有一个合理的解释,为什么我这样做,但至少它对我来说更自然.因此,我需要在头文件中公开更少的内部细节.

你有什么看法 - 这是正确的做法吗?

c++ coding-style api-design namespaces static-members

43
推荐指数
3
解决办法
8327
查看次数

什么是Python名称空间

我刚刚开始学习Python并且在Python中遇到了"命名空间"概念.虽然我得到了它的概念,但我无法理解这个概念的严重性.

网上的一些浏览显示,针对PHP的一个原因是它没有对命名空间的本机支持.

有人可以解释如何使用命名空间以及此功能如何使编程更好(不仅仅是在Python中,因为我假设命名空间不是限于特定语言的概念).

我主要来自Java和C编程背景.

python programming-languages namespaces

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

在C++中没有名称的命名空间

可能重复:
未命名/匿名命名空间与静态函数

我遇到了这段代码

namespace ABC {
namespace DEF {

namespace
{
Run Code Online (Sandbox Code Playgroud)

我希望命名空间后面应该有一些名称,但是这个代码并不是这样.

在C++中允许这样做吗?这个未命名的命名空间的优点是什么?

c++ namespaces

43
推荐指数
1
解决办法
2万
查看次数

在命名空间内使用声明的范围

在C++头文件中是否安全(和正确)以在命名空间中使用using声明,如下所示:

#include <boost/numeric/ublas/vector.hpp>
namespace MyNamespace {
    using boost::numeric::ublas::vector;
    vector MyFunc(vector in);
}
Run Code Online (Sandbox Code Playgroud)

即,正确地包含在MyNamespace块中的"使用boost :: numeric :: ublas :: vector",还是会污染包含此标头的任何文件的命名空间?

c++ scope namespaces using

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

如何创建Python命名空间(argparse.parse_args值)?

为了交互式地测试我的python脚本,我想创建一个Namespace对象,类似于返回的对象argparse.parse_args().显而易见的方式,

>>> import argparse
>>> parser = argparse.ArgumentParser()
>>> parser.parse_args()
Namespace()
>>> parser.parse_args("-a")
usage: [-h]
: error: unrecognized arguments: - a

Process Python exited abnormally with code 2
Run Code Online (Sandbox Code Playgroud)

可能导致Python repl退出(如上所述)一个愚蠢的错误.

那么,使用给定属性集创建Python命名空间的最简单方法是什么?

例如,我可以动态创建dict(dict([("a",1),("b","c")]))但我不能将其用作Namespace:

AttributeError: 'dict' object has no attribute 'a'
Run Code Online (Sandbox Code Playgroud)

python namespaces argparse

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

使用DataContractSerializer序列化没有名称空间的对象

如何从使用DataContractSerializer序列化的对象的XML表示中删除XML命名空间?

该对象需要序列化为非常简单的输出XML.

  • 最新和最好 - 使用.Net 4 beta 2
  • 该对象永远不需要反序列化.
  • XML不应该有任何xmlns:...命名空间引用
  • 需要支持Exception和ISubObject的任何子类型.
  • 改变原始对象将非常困难.

宾语:

 [Serializable] 
 class MyObj
 {
     string str;
     Exception ex;
     ISubObject subobj;
 } 
Run Code Online (Sandbox Code Playgroud)

需要序列化为:

<xml>
  <str>...</str>
  <ex i:nil="true" />
  <subobj i:type="Abc">
     <AbcProp1>...</AbcProp1>
     <AbcProp2>...</AbcProp2>
  </subobj>
</xml>
Run Code Online (Sandbox Code Playgroud)

我用过这段代码:

private static string ObjectToXmlString(object obj)
{
    if (obj == null) throw new ArgumentNullException("obj");

    var serializer =
        new DataContractSerializer(
            obj.GetType(), null, Int32.MaxValue, false, false, null,
            new AllowAllContractResolver());

    var sb = new StringBuilder();
    using (var xw = XmlWriter.Create(sb, new XmlWriterSettings
    {
        OmitXmlDeclaration = true,
        NamespaceHandling …
Run Code Online (Sandbox Code Playgroud)

.net namespaces xml-serialization datacontractserializer

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