Está en la página 1de 82
El lenguaje de programacion C++ Bjarne Stroustrup 2 Ellenguaje de programacion C++ ‘9 th Mareus, me has dado muchas cosas; ahora voy a darte yo un buen consejo. Sé ‘muchos. Abandona el juego de ser siempre Marcus Covoza, Te has preocupado demasia- do por Marcus Coccza,y en realidad has se esclavo yprisionsr> suo. No tas hecho nada sin considerar antes c6mo podta afectar ala felicidad y el prestigio de Marcus Cocozs. ‘Tenias siempre mucho miedo de que Marcus hiciers una tonie-a o se absrriera. :Y qué importaba? Todo e mundo hace tonterfss.. Me guttaria que lueras esponténeo, que tv ‘oraz6n se iluminari de nuevo A rarir de ahora debes ser no una, sino muchas persons, tantas camo puedas imaginar... » Karen Blixen “ de C++ — Cy C++ — st ‘gerensiaspara programadores de C — sugerencias para programadores de C++ = reflexiones sobre programacisn en +t — consejs —referencias LL Estructura del libro El presente libwo consta de ses partes: Turoduceiér: Los eapitulos a 3 ofrecen une visién de sonjunto del lenguaje C++, los estilos clave de programacién que soporta y la biblioteca C++ estinda arte [: Les capitulos 4 & 9 proparcionan wna inteoduccidn didactica alos tipos pre- {de inidos de C++ y alos recursos hasicos para construir programas a partir de ells. Fane I: Les capitulos 102 15 son una ynrocuccisn didjetica ala programacisn orien- {aca a objetos y genérica con C+, ante Il: Ex los capitulos 16 a 22 se present: la bibli Farte IV Ex los eapitulos 23 a 25 se estudiantemas re saurollo de software. Apéndices: os apéndices A, B y C contiena detalles sobre los aspects técnicos del Tenguaye El capitulo 1 o'ece una visién de conunto de ibro, algunos consejos sobre emo usarlo € informacisn fundamental scbre C++ y su uso Animo al I2ctor a que lo hojee, Tea lo que le parezca intewesante y vuelva a él trax lee ots partes del libro. Los capitulos 2 y 3 ofrecen una visin de conknto de los conceptos ycaracteristica pri teca C4 sind. nados con eldiseRo y el de var al ketor para que dedique tiempo a los conceysos fundamentales y 1ay‘varacterstcas baisicas del lengucje, mostrindole lo que se puede expresar undo todo el lengusye C=+, Cuande menos, esos captulas deben convencer al lector de que C++ no es (slo) C.y de que C+ ha recorsido un largo camino desde la primera y segunda ediciones de este lites El capfulo 2 sirve para fumiliarizarse a alty nivel con C4+. Se analizan las caracteristicss del lenguaje que soportan abstraccién de datos, programacién orientada a objetos pro _gramac6n genérica. El capitulo 3 introduce los prncipios bai:os y los componentes prin ipalesde 1a biblioteca estindar, Ello me permite usar compenentes de la biblioteca ex. ‘indar en los capitalos siguiente, y al lector le permite usar cemponentes de Ia biblioteca en tos gercicios. e1 lugar de trabajar directumente con earactesticas precefinidas, de me- nor nivel Los capitulos inroduccorics oftecen un ajemplo de una técnica geseral que se aplica a 4o largode todo el ibro: para posbiitar un andlisis més directe y reaista de alguna ice 6a 0 camcteristica, en océsiores presento primero brevemente un concepto mas adele te To amilizo en profundidad, Este planteaniiento me permite afrecer ejemplos concrcts antes de presentar un tratamiento més general del tema. Asi pies, la organizacin del bro reflja Ia idea de que habituslmente aprendemos mejor avenzando de lo concreto alo abstract, aun cuando, al miraratrés, lo abstracto parezca sencillo y evident. La Parte I descrbe el subeonjunto de C++ que soporta est os de programacicn tradi- 19), cadenas! (capttlo 20), EntradaSalida (capitulo 21) y soporte pars computacidn ni inética (capitulo 22) {La Pare TV analiza cuestiones que surgen suando se usa C44 en el dis e implemen: "A to large de todo el ibro, se uiizaseaden (em inglés. siring) como sinérimar de asecuencia ot para er 1 i ae toy in erie. Enel pul Pes aala lsh ent ol lenaje do Beatie elaknere Cy Cosy enve etna Cr+ Cambie lmao 80 Cr+ Lei yo ‘Sela No ence nade ve puede initiate escraurs de programas de ato rea pare formarse una idea exacta de cémo es un lerguaje dz programacién. Este libro se cen- dos 300 a y By funciones f1) y #1) ; En los ejemplos de cd go se usa ur tipo de letra de anchura proporeional para los iden: lifieadores. Por ejemplo: ‘include -iostream int mein) std: scout << "Hola, nuevo mundo | a" A pier iste xl de presen pus parecer santas aos progrmado Tesacostunbradca ver el cligoen ps Je era dearciurs constant, Sn emtarg, fs po de anchuaproporcioal se comsieran en general mejores que bs de anche con tate pal proses de eno, Usrun pode anc proporcionan pert bien resemar el ebigo cn eno sos de agian. Ades, lo experimen gue he realizado demiestran que la mayor parte def gente excita ensegida el nuvo es: tilo mis facil de eer. ee : | Simp qu pol, las caracterticas del lengunie ya ibiteca Coe se oresen tan en contexte de so 9 no la fora dade un mana Lt coated ee ae presenta el dele cen que sedescribe ean i pono devise os se nessa para un uso fective de Co Un bo complemenaie, The sumone Coe Langage Stadard, esto en coaboacién con Andrew Keen, etc a denen completa del enue, amo eon comentarios cus propos hacerlo aces seine, deters haber ot libo completa, Te dnnouted Libram Cae, So tmbgo das mis iiacione en esta a tempo ycapaadad pas ese, no pose Promeer que lege a proc La referencias acts partes de ese Ro teen Ia forma $234 (apo 2 garado 3, sutapartado 4), $8.56 (Apenice B, sabapataco 56) $6610] (apts &: cercets 10, Lacusve seus en oaones par desta albas per enplo sun cals dea no es acepane), para stale a primera paiion de concepts portant por ejemplo, polinorfsmo) para sinbols no terminals de le pamaten Cx po som, sentrcafory palo comentarios ens empl de eg Seunacantnegng representa detfeadoes,palatas cave y valores numercos en lo jen de eotne (por empl, clas, contador y 1712) 1.1.2 Bjercicies Los ejericios se encuentran al final de ios capitules. En su muyoria consister en escrbir lun programa. El lector debe escribir siempre eéaigo suficient: para que sea sompilada sjecutada una solusién con al menos tres casos de prucba. La dificultad de los ejereicios varia considerablenente, por lo que se indiza Ia dificultadestimnda para cada uno mediante luna escala exponeacial, segtin la cual siun ejercico (*1) le Leva al lector diez minutos, tun ejerccio (*2) puede Hevarle una hora y un ejercicio (*2) un dia, El tiempo neceserio para escribir y probar un programa depence mas de a experiecia del lector que del er. cicio ea sf, Un ejersicio (*1) Hevara un dia si el lestortviera que familiarizerse primero con un auevo sistena informético para ejcutatlo. Por el contario, un ejerciio (°8) po dria hacerlo en una hora alguien que caualmente vera a meno la coleccin de progr Coma fuente de cjervicios extra para la Parte I se puede usa’ cualquier libro sobre pro- framacin en Cy vara ls partes y Ile pueden usr libros sobre exvtues de das ¥ algoritmos. 1.1.3 Nota sobre inplementacién lenny wad ene ibe Cv pron tl como sede ena Cee [Ce 199] Ee cnscucsia seo sos farce sabe ees moc es Cio rica gnats propa dl ibe poe ea oe pleneindones C+. Los eomps co qu se un eaterco elope mene or Cov no ompinen e su Inpleeaions Socmngs eae ‘esés mencionar qué implementacida fallé en la compilaciin de qué ejemplos. Semejante jnformacién quedaria ensepuida antcuada peryue los implementadores estén trapajando fnuvho para garantizar que sus impkmentaciones acerten correctamente todas las carac- Teritigas de C++. En el Apéndice B encontrariel lecteeseperencias sobre eso manejar fe con conpiladores C++ mis antigans y con eédigo eser to para compiladores C 1.2 Aprendizaje de C++ Lomés imporiame para aprender C+ es concentrarse en los conceptos y no perderse en Jos detalles tenicos det lenguaje. La finalidad de aprender un lenguaje de progremacién es mejorar como programsador, es decir, ser més eficaz en el dseflo e implementacion de fos sistemes nevos y en 21 mantenimiento de les antiguos Por ello, es mucho més impor de programacicn y disefo cue conocer los detalles; ese co: tene comprenr ls tice toeimient ga son el rrp ya tic ‘cre sonora diversos esos de popramavion, Todos se basen en uta comprobacisn estaica de tipo rigrosay I mayor pretend: leavar ox alto nivel de abstain yuna fepresentacgn deta das ieas del prorar or. Tedosellos pueden ogra ut prop: ‘Mes de meta eficaz al tempo ne mantire la efeencia de espaci y de fempo de Sevucion Un progamacor que prea de wn enguge cifrente(C, Foran, Smalltalk, Livy ML Ada Eifel, Pacalo Modl-2) debe ener encurna qe, prs ener maxi tereicio ve Co, dee dda erpo a arenercimerbriza exis 9 tenis de pro fPanacionadeouados Cr, Lo mismo puede devise de los propramadores asiuados Ta apliacinineexva aor lenguaje ds tcnicasecaces en uno conduce genera mnt Taobtncion de slg orp de bajo zndimiot y Bel de mumener seri. Toesulta ademas sumamenc frostant,porce cada linc de codigo cada nesaje de tre del eompiladorreeedan al proramad> que e!lerguse ula es dient dl Saguos Se puede escabir con elestito de Pan, Small, eee, enculguer Temuse er-ne resulta apadable 1 econdmic cuan la isoia del lenguaees fe rene, Chalgue enguaje pore ser ua product va uete ce ideas sobre cm eerie pro- frunas Cs Sin embargn hs ideas ceben isormae alo qe se alate Is csr tern ger ye sine depos de C+ parse sean cktvas en ene context diferen- tebe shea sin depos den Teng sos den obtener itr piss. esata poimacin aa al sprndizae mo se plate care apen- diye de tn mivolenguyje de pogunacion pended lo qu a sep de Ip guepe- tena aprender No hay un planeantento que ea vio ra odo el mundo, La pes dea qc he prio esq lector ets aprtiend Ca pts mejorar como arama tory dschador Es dec sapongo gue el prepito dso l aprender C+ 0 es Se cilmente aprender una ints neva pars er cost dea form lau est aon tea, sno aprender formas noevas mejores de consi sistemas. Yeo hay que hi cero rndalmnt, pane aison de suger ueva habla inportae require Senipoy rictea Pensemosen lo ie va gprnde bin um oma new 9 apron éera tocar ben an insuento muse, Mj come enador de sistemas 1m ei 1 ms pl, por no tanto cono le gustaria a mayeria de Ia gem

También podría gustarte