雙圓括號結構
與let命令很相似, ((...))結構允許算術擴充套件和賦值. 舉個簡單的例子, a=$(( 5 + 3 )), 將把變數"a"設為"5 + 3", 或者8. 然而, 雙圓括號結構也被認為是在bash中使用c語言風格變數操作的一種處理機制.
#!/bin/bash
(( a = 23 )) # c語言風格的變數賦值,"="兩邊允許有空格.
echo "a (initial value) = $a"
(( a++ )) # c語言風格的後置自加.
echo "a (after a++) = $a"
(( a-- )) # c語言風格的後置自減.
echo "a (after a--) = $a"
(( ++a )) # c語言風格的前置自加.
echo "a (after ++a) = $a"
(( --a )) # c語言風格的前置自減.
echo "a (after --a) = $a"
(( t = a<45?7:11 )) # c語言風格的三元操作.
echo "if a < 45, then t = 7, else t = 11."
echo "t = $t "
exit 0
結果:
root@ubuntu:~/resource/0510# ./test1
a (initial value) = 23
a (after a++) = 24
a (after a--) = 23
a (after ++a) = 24
a (after --a) = 23
if a < 45, then t = 7, else t = 11.
t = 7
root@ubuntu:~/resource/0510#
待續。。。。。
正規表示式圓括號和非捕獲性圓括號
x 捕獲性圓括號 匹配x,並捕獲匹配項。x 非捕獲性圓括號 匹配x,但是不捕獲匹配項。正規表示式一般情況下的匹配道德字串稱為分組0,按照匹配項中圓括號出現的順序會獲得分組1,分組2 等等 例如 console.log 0 9 exec 3 4 console.log 0 9 exec 3 4 con...
vector中的圓括號和花括號
1.圓括號和花括號 include include include using namespace std int main vectorv int2 10 cout vector v int endl for auto i v int cout i endl cout endl cout vect...
C 中的圓括號過載
過載是c 靜態多型性的實現,不僅可以對函式進行過載,還可以對運算子進行過載,其中對圓括號 的過載容易引起混淆 下面舉乙個例子,定義乙個box類,有x,y,z三個資料成員表示其長寬高,定義showvolume 函式顯示體積。include using namespace std class box i...