Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Dlaczego "iostream" a nie "iostream.h."

Ostatnio zmodyfikowano 2009-09-10 11:31
Autor Wiadomość
GoldWolf
Temat założony przez niniejszego użytkownika
Dlaczego "iostream" a nie "iostream.h."
» 2009-09-09 09:19:54
Właśnie próbuje napisać kilka słów o przestrzeni nazw i natrafiłem na taki problem.

Pliki nagłówkowe nie korzystające z przestrzeni nazw, jak iostream.h -> i tu się pojawił dla mnie problem, wyszukuje sobie w moim środowisku(Code::B) w/w pliku, a tam w środku mam taką zawartość:
C/C++
// Copyright (C) 1997-1999, 2000 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library.  This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.

// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING.  If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.

// As a special exception, you may use this file as part of a free software
// library without restriction.  Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License.  This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.

#ifndef _BACKWARD_IOSTREAM_H
#define _BACKWARD_IOSTREAM_H 1

#include "backward_warning.h"
#include <iostream>

using std::iostream;
using std::ostream;
using std::istream;
using std::ios;
using std::streambuf;

using std::cout;
using std::cin;
using std::cerr;
using std::clog;
#ifdef _GLIBCXX_USE_WCHAR_T
using std::wcout;
using std::wcin;
using std::wcerr;
using std::wclog;
#endif

using std::ws;
using std::endl;
using std::ends;
using std::flush;

#endif

// Local Variables:
// mode:C++
// End:
No więc, ktoś tu mnie w konia robi. Przecież ten plik to jedna wielka linkownia do przestrzeni nazw. Jeśli podłączymy iostream.h, nie musimy w ogóle się przejmować przestrzeniami nazw.
No więc jak mam pisać, że lepiej używać odpowiedników z przestrzeni nazw std, jak wystarczy podpinać sobie .h nagłówki by o tej przestrzeni nie pamiętać.

Rozumiem argument, iż przestrzenie powstały by uprościć problemów z zarządzaniem większymi projektami programistycznymi. No ale dopóki sam nie będziesz się zajmować takim wielkim projektem to po kij ci to ?!?!

P-10117
pompom
» 2009-09-09 12:17:51
Może dlatego że to iostream.h a nie iostream? C++ przed standardem
P-10118
GoldWolf
Temat założony przez niniejszego użytkownika
» 2009-09-09 19:03:14
Wystarczający argument? Czyli najnowsze kompilatory, już nie posiadają dostępu do "iostream.h.", a co z "conio.h"?
Zatem zostaje zapytać, czy wszystkie stare biblioteki mają swoje odpowiedniki czy nie ??!?
P-10124
GoldWolf
Temat założony przez niniejszego użytkownika
» 2009-09-09 19:39:04
Czyli te biblioteki wylatują, bo nikomu się nie chce już trzymać kompatybilnościJa to rozumiem, ale w takim razie należy bez sprzecznie olać Dev wer 4.9.9.2 -> bo to już tylko syf wprowadza.
Jak mam tłumaczyć, że to już nie działa jak każdy kto spróbuje zobaczy, że jedna działa.
Może nikt nie będzie taki dociekliwy. Akurat oba środowiska posiadają stare wersje kompilatora.
P-10127
DejaVu
» 2009-09-09 19:42:01
Piszesz w C++ - używaj plików bez rozszerzeń jeśli takowe istnieją.
P-10128
GoldWolf
Temat założony przez niniejszego użytkownika
» 2009-09-09 20:39:21
lepiej nie zakładać, że ktoś używa tej starej, zabugowanej wersji gcc, którą można z nim ściągnąć.Dobry żart, każdy będzie jej używać. Nie ma opisu jak podpiąć inny lub zaktualizować obecny. Niestety kursantów trzeba potraktować jak blondynki, czyli nie wie co jak i dlaczego.
P-10131
DejaVu
» 2009-09-09 20:58:38
No właśnie :) możesz napisać lekcję skąd ściągnąć nowszy kompilator i jak go prawidłowo skonfigurować :) Osobie, która się dopiero uczy zapewne będzie na tyle leniwa, że zadowoli się kompilatorem dostarczamym razem z Code::Blocks. Osoby, które chcą coś więcej pokodzić zapewne chętnie się 'zaktualizują' w tej kwestii :)
P-10133
Proxym
» 2009-09-09 21:46:01
Sądzę, że do Ciebie się zwrócił Piotrek.
P-10134
« 1 » 2 3
  Strona 1 z 3 Następna strona