Add type qualifier
Support C++
Use constant
Revert "Use constant"

This reverts commit 1bbbe98b57743bebe36f92eda7a8ca659f365219.
Revert "Revert "Use constant""

This reverts commit f19c4c054cf2ed184c015e32fc232fb418437d6b.
Really fix