我發現PARSEC基準測試套件一個C++文件,看到一些像這樣的功能:C++語言中`::`是做什麼的?
long Rng::rand()
{
return _rng->randInt();
}
是什麼在函數的名稱::
在這裏做?
我發現PARSEC基準測試套件一個C++文件,看到一些像這樣的功能:C++語言中`::`是做什麼的?
long Rng::rand()
{
return _rng->randInt();
}
是什麼在函數的名稱::
在這裏做?
在C++ ::
是Scope resolution operator。
在這種情況下,它告訴編譯器它是rand()
方法的定義,它是Rng
class/structure/union/namespace的成員函數。
鑑於'C'沒有'class'es,你能澄清一下你的聲明是從「在這種情況下......」開始的嗎? – Shredderroy
@Shredderroy:Q被標記爲C++。 –
+1,但'Rng'也可以是一個名稱空間。 – juanchopanza
這不是C,而是C++ –
這確實看起來像C++方法定義而不是C函數。你確定它是C代碼而不是C++嗎? – yzt
我非常想回滾編輯[devnull](http://stackoverflow.com/users/2235132/devnull)和[蘭迪霍華德](http://stackoverflow.com/users/2159730/randy-howard ),因爲他們完全重寫了這個問題。原來的問題是關於C中的'::'它已被修改,以便C不再是標籤或在問題中提到,這使得我的答案不重要(因爲它解決了原始C問題而不是修訂的C++問題)。當他們保持原始問題的意圖時,編輯就很好。當他們沒有時,他們不是。 –