class nazwa {
public: char n[20];
};
int main(){
nazwa name;
char k[20];
name.n=k;
...
Zależy mi na tym by tablica była w klasie.
Dziwny błąd mi się zdaje. Proszę mi napisać: Co zrobić by nie wyskakiwał?
class nazwa {
public: char n[20];
};
int main(){
nazwa name;
char k[20];
name.n=k;
...
Zależy mi na tym by tablica była w klasie.
Dziwny błąd mi się zdaje. Proszę mi napisać: Co zrobić by nie wyskakiwał?
Nie tak się kopiuje tablice. W tagach masz C++, więc użyj np. takiego https://en.cppreference.com/w/cpp/string/basic_string i wtedy będziesz miał dostępny operator przypisania.
Jeśli natomiast bardzo chcesz użyć tablic w stylu C (z zeszłego stulecia) to powinieneś użyć tego https://en.cppreference.com/w/cpp/string/byte/strcpy
Link dla twojego nauczyciela C++ (niezalecane początkującym).
Generalnie lepiej by było jakbyś użył bardziej współczesnych elementów C++ (C++11 - standard z 2011 roku).
#include <string>
#include <array>
class nazwa {
public:
std::array<char, 20> n;
std::string s; // zalecana alternatywa dla napisów dostępna od 1994 roku
};
int main(){
nazwa name;
std::array<char, 20> k = { 'a', 'b' };
name.n = k;
name.s = "szła dzieweczka do laseczka";
I jeszcze aka uwaga. Nie używaj języka polskiego w kodzie. Nawet jeśli twój angielski jest nadal kulawy.
Pisanie po angielsku powinno być odruchem.
Zależy mi na szybkim działaniu i by mało miejsca w pamięci zajmowało.
Teraz jest idealnie :
najlepiej wrzuć kompletny kod na https://godbolt.org/
to chociaż błąd zobaczymy
gaborek1987 napisał(a):
Zależy mi na szybkim działaniu i by mało miejsca w pamięci zajmowało.
Z rekomendowanym rozwiązaniem w tym zakresie nie ma najmniejszego problemu.
Wiem, że z twoim obecnym skillem, wydaje ci się, że "postawienie przecinka" w odpowiednim miejscu zmieni coś istotnie (jak byłem początkujący też tak miałem).
Prawda jest taka, że kompilator jest tak bardzo dopracowany, że optymalizację potrafią "zrozumieć" kod i przekształcić go w coś bardziej optymalnego (przykład).
Ważne, żebyś wiedział, że optymalizację trzeba włączyć.
Ergo w twojej obecnej fazie nauki nie przejmuj się takimi bzdurami, co składniowo jest szybsze.
Opanuj najpierw samo programowanie i język a dopiero wtedy będziesz miał szanse właściwie zrozumieć jak naprawdę optymalizować kod.