在关于优化和代码风格的C++问题中,在优化副本的上下文中,有几个答案提到了"SSO" std::string.在这种情况下,SSO意味着什么?
显然不是"单点登录"."共享字符串优化",或许?
我想了解使用make([]int, 0). 我做这个代码进行测试:
emptySlice := make([]int, 0)
fmt.Println(len(emptySlice))
fmt.Println(cap(emptySlice))
fmt.Println(unsafe.Sizeof(emptySlice))
Run Code Online (Sandbox Code Playgroud)
size和容量返回很明显,都是0,但是slice的大小是24字节,为什么呢?
24 个字节应该是 3 个int64吧?一个包含 24 个字节的切片的内部数组应该类似于:[3]int{},那么为什么一个空切片有 24 个字节呢?