Я работаю с очень большим целочисленным литералом, например:
#define X 999999999999
Чтобы улучшить читабельность, я попытался изменить это на:
#define X 999/**/999/**/999/**/999
Но компилятор был как «Нах Бру ..»
Есть ли способ сделать их более читабельными?
Просто чтобы уточнить, этот вопрос задают только о появлении значений в исходном коде. Я не спрашиваю, как отформатировать эти значения в printf или что-нибудь.
Вы можете сделать это в определении (но не вне определения):
#define X 999##111##333##444
Я не уверен, что рекомендую это, но это законно. (##
является оператором конкатенации токенов препроцессора.)
Вы явно не спрашивали о форматировании вывода, поэтому, вероятно, вас также не интересует форматирование ввода, но оба они могут быть ориентированы на локаль, что включает в себя использование группирующих символов, специфичных для локали.
Вы могли бы сделать это:
#include <boost/preprocessor.hpp>
BOOST_PP_SEQ_CAT((345)(678)(901))
Который будет отображаться в исходном коде как:
345678901