C++中十进制字面值为什么不会是负的啊?

最近在学习C++Primer,请问书上所说的“十进制字面值是带符号数”和“十进制字面值不会是负数”矛盾吗?
我不是很理解为什么负号并不在字面值之内,是说字面值对应的数据类型只存储其数值部分吗?
求大神解答。

“十进制字面值”是这本书的作者给他想说的一种数字的定义,他怎么说你就怎么理解好了。
好比你女友让你给她买好吃的菜,她说好吃的菜就是有点甜但是不能太甜,不能有辣。这个好吃的菜就是她给出的定义。
先有了定义才有的这个词。你不能反过来,说为什么好吃的菜不能太甜。