我有以下結構中的代碼:如何區分聲明和使用函數?
while (x > 0) {
something;
aaa::bbb::ccc some_name(
x,
y
);
}
我不明白什麼aaa::bbb::ccc some_name(
。如果它是一個函數調用,爲什麼我們需要指定它的時間aaa::bbb::ccc
。如果它是一個函數聲明,爲什麼它在while循環中完成以及爲什麼沒有指定參數的類型?
我有以下結構中的代碼:如何區分聲明和使用函數?
while (x > 0) {
something;
aaa::bbb::ccc some_name(
x,
y
);
}
我不明白什麼aaa::bbb::ccc some_name(
。如果它是一個函數調用,爲什麼我們需要指定它的時間aaa::bbb::ccc
。如果它是一個函數聲明,爲什麼它在while循環中完成以及爲什麼沒有指定參數的類型?
在這種特殊情況下,它可能通過調用其與參數x
和y
兩個參數的構造函數構造aaa::bbb::ccc
類型的對象some_name
。
它在循環中完成的原因可能是該對象在其構造函數和/或析構函數中做了一些有用的工作(它可能是某種形式的範圍守護)。
當然,如果'x'和'y'名稱類型,它是_is_函數聲明。在這種簡單的情況下,它通常很明顯(並且命名約定有幫助)。在更復雜的情況下,它可能不明確---見「最令人頭痛的解析」。 – 2013-03-12 09:29:57
非常煩人... – 2013-03-12 08:46:46
發佈實際的代碼。 – Pubby 2013-03-12 08:46:58
::是一個範圍解析運算符。 bbb ccc可能是一些靜態成員或方法。 – user1929959 2013-03-12 08:52:39