關(guān)于多個返回類型玄呛,這些方法阅懦,也許有更多方法。
struct 很簡單徘铝,很容易使用耳胎,它讓代碼更清晰,更容易閱讀惕它。
當我們實際使用這個時怕午,不用搞什么first 、 second.
如果只是像這樣返回一個ShadowProgramSource淹魄,我們可以簡單的返回郁惜。
ShadowProgramSource這個的背后就是一個pair,由兩個String組成甲锡。
和這邊返回一對pair差不多兆蕉,但是可以對變量命名,我們可以定義 std::string vertexScource.
仍然可以用 std::get<0>(sources)
0缤沦、1 是我們實際變量的名字虎韵,很難分辨,哪個是vertex缸废,哪個是fragment.
你想從中獲取它的值的tuple元組包蓝,這里是sources,這就是你要的VertexShader(vs)
return std ::array <std::string, 2>(vs,fs)
這寫的東西企量,在內(nèi)存分配上不講究测萎。
我們可以保留 2個元素位置,或者 其他個 元素位置届巩。
我們預先分配了內(nèi)存硅瞧,ParseShader 不做任何動態(tài)內(nèi)存分配。
而用一個指針 你可以傳遞null之類的姆泻,然后做一個檢查零酪。如果傳遞引用的話,你需要傳遞一個有效的變量拇勃。
將這個字符串復制到這個字符串中,所以仍然有一個復制孝凌。
我可以和你們聊天方咆,這更像一個播客。
模版參數(shù)是 std::string 和 2
return new std::string[]{vs,fs}
我喜歡在輸出參數(shù)的名字前加上out之類的
no instance currently matches the argument list.