मेरे पास एक मान है जिसे मैं किसी दिए गए संरेखण में संरेखित करना चाहता हूं, यानी संरेखण के अगले एकाधिक को मान बढ़ाएं यदि यह पहले से गठबंधन नहीं है।किसी दिए गए संरेखण के लिए मान को संरेखित कैसे करें
सी ++ में ऐसा करने का संक्षिप्त तरीका क्या है?
जैसे
int x;
int alignment;
int y = ???; // align x to alignment
सी ++ 11 है 'alignas' , यदि आप इसका उपयोग कर सकते हैं। – chris
बस स्पष्ट होने के लिए: आप * मेमोरी संरेखण * के बारे में बात कर रहे हैं * इसलिए आप * "मूल्य बढ़ाने" नहीं चाहते हैं - आप ऑब्जेक्ट के मेमोरी एड्रेस को संरेखित करना चाहते हैं; क्या वह सही है? –
int y = x + (x% संरेखण == 0? 0: संरेखण - x% संरेखण) –