Diferencia entre revisiones de «Introducción a Patrones de Diseño en C++ con Qt4/1.13 Identificadores, Tipos y Literales»
Contenido eliminado Contenido añadido
Línea 12:
====Tabla 1.1====
{{tabla|Tabla 1.1 Ejemplos de Literales|<td>'''Literal'''</td><td>'''Significado'''</td>|
<tr><td>5</td><td>una literal '''int'''</td></tr> <tr><td>5u</td><td>
<tr><td>5L
<tr><td>05
<tr><td>0x5
<tr><td>true
<tr><td>5.0F
<tr><td>5.0
<tr><td>5.0L
<tr><td>'5'
<tr><td>“50”
<tr><td>
<tr><td>'\a'
<tr><td>'\\'
<tr><td>'\b'
<tr><td>'\r'
<tr><td>'\''
<tr><td>'\“'
<tr><td>'\f'</td><td>
<tr><td>'\t'
<tr><td>'\n'
<tr><td>“\n”</td><td>
<tr><td>'\0'
<tr><td>'\v'
<tr><td>
Las literales de cadena son especiales en C++, debido a sus raices históricas en el lenguaje C. El '''Ejemplo 1.15''' muestra como ciertos caracteres necesitan ser escapados dentro de los delimitadores de cadena de comilla doble:
Example 1.15. src/early-examples/literals/qliterals.cpp▼
#include <QTextStream>▼
'''QString str = charstr;''' cadenas al estilo C pueden ser convertidas a QString|
#include <QString>▼
▲ #include <QTextStream>
▲ #include <QString>
int main() {▼
" por eso continuaré en la siguiente línea";
QTextStream cout(stdout); ▼
cout << str << endl;▼
cout << "\nA\tb\\c\'d\"" << endl;▼
return 0;▼
}▼
|http://cartan.cas.suffolk.edu/oopdocbook/docs/src/early-examples/literals/qliterals.cpp}}
▲int main() {
▲ const char* charstr = "this is one very long string "
▲ QTextStream cout(stdout);
▲ QString str = charstr; 1
▲ cout << str << endl;
▲ cout << "\nA\tb\\c\'d\"" << endl;
▲ return 0;
▲}
compilaremos u correremos de la forma en que describimos antes:
src/early-examples/literals> qmake -project▼
src/early-examples/literals> qmake▼
src/early-examples/literals> make▼
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include /qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -o qliterals.o qliterals.cpp▼
g++ -o literals qliterals.o -L/usr/lib -lQtGui -lQtCore -lpthread▼
src/early-examples/literals> '''./literals'''▼
La salida debería lucir algo parecido a esto:
▲src/early-examples/literals> qmake -project
▲src/early-examples/literals> qmake
▲src/early-examples/literals> make
▲g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -o qliterals.o qliterals.cpp
▲g++ -o literals qliterals.o -L/usr/lib -lQtGui -lQtCore -lpthread
▲src/early-examples/literals> ./literals
Esta es una cadena muy larga por eso continuaré en la siguiente línea
A b\c'd"▼
Nota que este programa muestra la forma de evitar líneas demasiado largas cuando trabajamos con literales de cadena. Estas pueden ser rotas en cualquier carácter de espacio en blanco y son concatenadas automáticamente usando esta sintaxis.
▲A b\c'd"
----
{{nav2|Introducción a Patrones de Diseño en C++ con Qt4/1.12.1 Ejercicios: Flujos|Ejercicios: Flujos|Introducción a Patrones de Diseño en C++ con Qt4|Contenido|Introducción a Patrones de Diseño en C++ con Qt4/1.13.1 Ejercicios: Identificadores, Tipos y Literales |Ejercicios: Identificadores, Tipos y Literales|Introducción a Patrones de Diseño en C++ con Qt4/print}}
|