6

昔からパイソンが好き

import big_honkin_name as bhn

bhn.thingそのため、ソースでかなり冗長ではなく、単に使用できbig_honkin_name.thingます。

私は、C++ コードで次の 2 種類の名前空間の使用を見てきました。

using namespace big_honkin_name; // includes fn().
int a = fn (27);

(これは悪いことだと確信しています)または:

int a = big_honkin_name::fn (27);

次のような C++ コードで Python 機能を取得する方法はありますか。

alias namespace big_honkin_name as bhn;
int a = bhn::fn (27);
4

6 に答える 6

13
namespace bhn = big_honkin_name;

名前空間を使用する別の方法もあります。

using big_honkin_name::fn;
int a = fn(27);
于 2009-09-21T04:28:42.653 に答える
12

救助へのStackOverflow!はい、できます。要するに:

namespace bhn = big_honkin_name;
于 2009-09-21T04:24:32.617 に答える
6

簡単です..

namespace bhn = big_honkin_name;
于 2009-09-21T04:25:49.960 に答える
2

使用できます

using big_honkin_name::fn;

fn名前空間から名前が付けられたすべての関数をインポートするbig_honkin_nameため、次のように記述できます

int a = fn(27);

しかし、それで名前自体を縮小することはできません。これを行うには (似ているが正確ではない)、次のようにします。

int big_honkin_object_name;

後で使用できます。

int& x(big_honkin_object_name);

その後x、あなたと同じように扱いますbig_honkin_object_name。ほとんどの場合、コンパイラは暗黙の間接化を排除します。

于 2009-09-21T04:26:27.093 に答える
1
using namespace big_honkin_name;

悪いことではありません。全くない。慎重に使用すると、名前空間をスコープに入れることで不要な混乱が解消され、コードがわかりやすくなります

(ヘッダーファイルにある場合を除きます。その場合、それは非常に貧弱な方法です。)

しかし、はい、他の人が指摘したように、名前空間エイリアスを作成できます。

namespace big = big_honkin_name;
于 2009-09-21T13:53:32.067 に答える
0

うまく言えば、Python インポートに相当する C++ は次のとおりです。

Python から C++

import someLib as sl => namespace sl = someLib;

from someLib import func -> using someLib::func;

from someLib import * -> using namespace someLib;

#include<someLib>これらの前に C++ で実行する必要があることに注意してください。

ラストはかなり有名!

#include<iostream>
using namespace std;
于 2017-01-16T15:46:11.737 に答える