kod
Adamm: int main() {
int n, m, l;
std::cin>>n;
for(int i=0;i<n;i++){
l=0;
std::cin>>m;
for(int i=0;i<1229;i++) if(t[i]==m){std::cout<<"TAK"; l=1; break;}
if(l==0) std::cout<<"NIE";
}
}
co jest złego w tym kodzie? tablica t jest wielka więc jej nie wstawiam
kod ma pobierać ilość liczb do sprawdzenia i potem kolejne liczby i sprawdzać czy należą do
tablicy
21 lut 15:37
Adamm: już nieważne, wiem o co chodziło
program ma również wstawiać nowe linijki bo wpisaniu odpowiedzi
21 lut 15:40
Jack: nie latwiej napisac
using namespace std zamiast ciagle std:: ?
21 lut 15:54
Metis: Ja też jestem zwolennikiem namespace std
21 lut 16:40
Dziadek Mróz:
foo_bar_namespace.hpp
#include <iostream>
#ifndef _FOO_BAR_NAMESPACE_
namespace foo
{
void func()
std::cout << "foo::func()\n";
}
namespace bar
{
void func()
std::cout << "bar::func()\n";
}
#endif
main.cpp
#include "foo_bar_namespace.hpp"
#using namespace foo;
#using namespace bar;
int main(int argc, char **argv)
{
func();
return 0;
}
Dla danego przykładu mamy dwie przestrzenie nazw foo i bar, każda z nich zawiera definicję
procedury func(), która wypisuje jej pochodzenie i nazwę. W funkcji głównej kompilator ma
problem, bo nie wie z jakiej przestrzeni nazw wyciągnąć funkcję func().
Poprawny kod:
main.cpp
#include "foo_bar_namespace.hpp"
int main(int argc, char **argv)
{
foo::func();
bar::func();
return 0;
}
Dlaczego nie używamy using namespace std; globalnie w programie?
Bo gdy zmieni się wersja jakiejś biblioteki, i będzie ona zawierała coś o nazwie z innej
biblioteki ale bez przestrzeni nazw, np.
template <class T>
class vector
{
...
};
to kompilator zgłupieje bo będzie importował z std i z nowej biblioteki tą samą klasę.
21 lut 23:17
Metis: Fajnie, że Nam takie szczegóły wyjaśniasz
21 lut 23:20
Metis: Poszło do zakładek.
21 lut 23:21
Dziadek Mróz:
Dobitny przykład, nieszczęsne listy kierunkowe.
Napisz sobie klasę list implementującą jakąś tam listę:
#include <iostream>
#include "list.hpp"
#include <list>
using namespace std;
int main(int argc, char **argv)
{
list list1<int>; // lista z std::list czy lista z list.hpp?
return 0;
}
==================================
#include <iostream>
#include "list.hpp"
#include <list>
int main(int argc, char **argv)
{
list list1<int>; // lista z list.hpp
std::list list2<int>; // lista z std::list
return 0;
}
21 lut 23:23
Metis: dla Ciebie!
21 lut 23:27