- Acerca de mí
- Redes Sociales
-
-
Lenguajes soportados: C, C++, Python, Lua.
Hay dos versiones de gcc
instaladas en el servidor: gcc-4.4
y gcc-4.6
.
Encabezados por defecto |
---|
Hay dos versiones de g++
instaladas en el servidor: g++-4.4
y g++-4.6
. Ambas usan los siguientes switches por defecto:
-fshort-enums
— Los enum
s usan el menor tamaño disponible (usualmente 16 bits) en vez del tamaño de entero de máquina como mínimo.-Wall
— Muestra muchas de las advertencias.Encabezados estándar por defecto | <cstddef> <cstdio> <cstdlib> <cmath> <ccomplex> <ctime> <cassert> <ciso646> <cstdint> <utility> <cerrno> <stdexcept> <type_traits> <typeinfo> <iostream> <iterator> <array> <deque> <list> <map> <set> <unordered_map> <unordered_set> <valarray> <vector> <algorithm> <functional> <numeric> <random> <tuple> |
---|---|
Otros encabezados disponibles | <cxxomfort/cxxomfort.hpp> 1) <cxx-prettyprint/prettyprint.hpp> <tinyformat/tinyformat.hpp> Nononsense-Boost: <./range.hpp> <./range/irange.hpp> <./range/adapter/reverse.hpp> <./range/adapter/filter.hpp> |
Encabezados disponibles con PRELUDE_EXTRAS 2) | <dynarray> <forward_list> <optional> |
Las directivas using namespace std;
y using namespace nononsense-boost
están automáticamente en efecto.
Resumen de ayudas de sintaxis:
VAR_DUMP(myvariable)
⇒ variable : type(value)
TYPE( div(16990L, 232L))
⇒ ldiv_t
CXXO_FOREACH (type v : sequence) { … }
CXXO_I12N_BEG(vector<int>,mylist) = {-11, -17, 4, 125, 3}; CXXO_I12N_END(vector<int>, mylist);
cout« FORMAT(“%s=%02d”, var.elem_string, var.elem_int)
⇒ mykey=03
Los streams cout
y cerr
están disponibles. Las funcionalidades de fopen
y fstream
no están disponibles.
Los pares (pair
) y tuplas (tuple
) se pueden imprimir directamente (sólo en cout
o un ostream):
Entrada:
cout<< make_tuple( string("Nintendo Rules!"), make_pair(getuid(), getpid()), minstd_rand(), 2013, tuple<bool>(), M_PI) << endl;
Salida:
(Nintendo Rules!, (33, 9584), 1, 2013, (0), 3.14159)
Los rangos y contenedores secuenciales como vector<…>
se pueden imprimir directamente:
Entrada:
ranlux24_base rg(time(0)); list<uint16_t> Seq(10); generate (begin(Seq), end(Seq), rg); cout<< Seq<< endl;
Salida:
[7877, 48550, 42251, 55429, 34953, 36914, 22612, 55862, 58258, 23176]
La macro VAR_DUMP(variable)
imprime el tipo y contenido de una variable como en PHP:
Entrada | Salida |
---|---|
NB::tuples::pair< int, string > five (piecewise_construct, make_tuple(5), make_tuple(5, '*') ); VAR_DUMP(five);
|
five : pair11<int, std::string>((5 , *****))
|
La macro TYPE(type)
es un atajo que imprime una descripción del tipo u objeto type:
Entrada | Salida |
---|---|
cout<< TYPE(&system)<< endl; | int (*)(char const*) |
cout<< TYPE(minstd_rand0)<< endl; | std::linear_congruential_engine<unsigned int, 16807u, 0u, 2147483647u> |
La macro FORMAT
es un atajo para tfm::format
.
Ejemplo de código:
int main () { CXXO_I12N_BEG( vector<int>, mylist ) = {4, 1, 8, 7, 12}; CXXO_I12N_END( vector<int>, mylist ); optional<int> oi = ...? }