22
在this文章如何避免错误共享,剪断对准下面的代码是提出:双括号的含义“[[foo()]] type name;”语法在c + +?
// C++ (using C++0x alignment syntax)
template<typename T>
struct cache_line_storage {
[[ align(CACHE_LINE_SIZE) ]] T data;
char pad[ CACHE_LINE_SIZE > sizeof(T)
? CACHE_LINE_SIZE - sizeof(T)
: 1 ];
};
什么是4号线的含义是什么? 我从来没有见过这种双括号的语法。