2012-04-05 55 views
1

我正在學習C++;我已經很流利的在PHP中。我閱讀了C++和PHP之間的差異。我讀到的文章中沒有一篇提到PHP的功能比C++更多。C++比PHP有更少的功能嗎?

現在,我想在C++分割字符串,我發現這一點:Split a string in C++? 在PHP中,我可以簡單地做explode($delimiter,$string)

我缺少的東西?或者,PHP有更多的內置函數C++。

+0

PHP和C++是不同的語言。 C(和,我猜C++)是較低的水平,並採取不同的行動。 PHP更「友好」,所以是的,你可以說它具有「更多功能」。這個問題中的一些答案使用了一個名爲「boost」的庫,它爲字符串添加了「分割」功能。 – 2012-04-05 18:50:09

+0

PHP語法在某種程度上與C/C++類似,但別忘了,PHP被解釋爲「託管」語言,但C/C++是編譯語言。 – rkosegi 2012-04-05 19:18:48

回答

2

C++和PHP都有,其中包括新的函數和類庫的概念..

很多PHP函數只是簡單的方法做更復雜的事情,例如,explode可以使用split寫而代之以strpos

對於C++來說,同樣的事情,我發現C++在這方面比較瘦,肯定有時你必須編寫自己的explode,或者簡單地使用其他人創建的其他庫。

至於哪些更多,我不認爲它很重要,都是可擴展的。

1

PHP是C++與Java是爲Javascript

他們是完全不同的語言作爲一個整體。

是的,PHP是用C++構建的,這個不是而是意思是它們會有相同的功能。

其他語言,用它建成於PHP和C++等高級語言的機器代碼構建,但是這並不意味着我可以這樣做:1000101010111010011000在PHP和意味着什麼......

+0

我不認爲你的意思是...... :) – 2012-04-05 18:58:32

+0

@MartinJames真的意味着什麼? – Neal 2012-04-05 18:58:57

+0

呵呵......看起來我們都是爲了比喻。對不起,我沒有看到你的消息之前,我打我的。 – user590028 2012-04-05 19:02:22

1

C++更接近彙編語言。儘管std庫(和std ++庫)有成千上萬個函數,但您覺得像PHP(用C/C++編寫)這樣的解釋型語言中有更多的庫,這並不奇怪。每個C和C++都試圖在編程器和底層機器之間提供最小的干擾(同時仍然支持可移植性的外觀)。因此,圖書館的創建由程序員來完成,以適應他們手頭的任務。雖然這可以爲您創造更多的努力,但所產生的代碼可以非常高效並且可以提供令人印象深刻的性能增強。

當然,您需要決定性能增益是否值得付出更多努力。

祝您學習愉快。的C++的美女

+0

偷你的類比是你嗎? :-P – Neal 2012-04-05 19:02:13

+0

呵呵......我看到你們出現在我的面前之後,我就把它移開了。 – user590028 2012-04-05 19:03:39

+0

哈哈不,其罰款讓你有一個,只是很酷,我們都想到了同樣的想法^ _ ^ – Neal 2012-04-05 19:04:44

0

部分就在於,這是基本的,並且不能建立在污染您的命名空間功能。

許多內置到其他語言的功能/目的/交易算法的是C++的標準模板庫(STL)的一部分。 STL是核心語言規範的一部分,但要使用包含正確頭文件的功能。

如果你想學習C++,你應該讓自己熟悉STL和Boost庫。

0

僅僅因爲C++沒有PHP的特定功能並不意味着C++整體上具有較小的標準庫。我猜想C++標準庫也有許多PHP沒有的功能。例如PHP在其標準庫中沒有編譯時的有理算術。

我不知道哪種語言有更大的標準庫。您只需獲取每種語言的文檔並計算功能的數量。

0

C++比PHP有更少的功能嗎?

PHP和C++具有相同數量的函數:一個函數結構可以表示一定數量的總函數。在C++中可能比在PHP中更容易提高可能更容易實現的函數數量,以防將來某些時候達到此限制。

我錯過了什麼嗎?或者,PHP有更多的內置函數C++。

我不是C++專家,但我非常確定,就內置函數而言,PHP比C++有「更多」,但由於語言太不同,所以無法進行比較。雖然在C/C++中明智的做法是默認情況下沒有許多內置函數,但它在PHP中恰恰相反,因爲它是一種腳本語言,可以在那裏使用,因此多年來一直使用函數。

或者用這種方式來表述:使用C++作爲語言來生成稍後編譯爲PHP綁定(擴展)的函數,只要您在PHP中加載擴展,就可以使用這些函數。但你永遠不會這樣做。