c++ - single - tipos de sufijos
¿Qué significa el sufijo entero J? (2)
Tengo la siguiente fuente:
int main() { 000J; }
Con gcc 4.8.4 se compila sin errores. Sé que hay sufijos como L o U, pero no encontré nada sobre J.
Entonces ¿Qué es lo que hace?
Como mencionó Zenith, esta es una extensión de GNU para escribir literales imaginarios.
Realmente quiero comentar sobre la razón de usar
j
para este propósito, ya que imallett se pregunta, pero no tengo suficiente reputación para comentar la respuesta de zenith.
Dejaré esto como respuesta de todos modos, ya que podría ser útil para otros.
Como explica
https://gcc.gnu.org/onlinedocs/gcc/Complex.html
, tanto
i
como
j
pueden usarse para escribir literales imaginarios usando esta extensión GNU.
La razón por la que se usa
i
para esto es obvia, pero la razón por la que
j
se usa es que
j
se usa comúnmente para denotar la unidad imaginaria en ingeniería eléctrica y la ingeniería de sistemas de control para evitar confusión, ya que ya se usa para denotar corriente eléctrica en esos contextos
Recibo una advertencia:
Las constantes imaginarias son una extensión de GNU
El sufijo
J
es una extensión de GNU, que hace que el literal sea del tipo
_Complex
.
Más información aquí: https://gcc.gnu.org/onlinedocs/gcc/Complex.html