Wskaźnik do obiektu vector-a typu int wewnątrz klasy

0

Cześć, mam klasę typu:

class KlasaX
	{
	public:
		KlasaX()
			{
			tab.resize(10);
			}
		vector<int> tab;
		int A;
		int KlasaX::*wsk_do_A;
		int KlasaX::*wsk_do_tab;	//np. do 3 elementu

		void set_wsk_do_A()
			{
			wsk_do_A = &KlasaX::A;
			}

		void set_wsk_do_tab()
			{
			//wsk_do_tab = &KlasaX::tab[3];	//nie działa ;-(
			}
	};

Jak zrobić wskaźnik do 3 elementu vectora wewnątrz tej klasy? ;/ Bo standardowy wskaźnik do int-a nie działa.
Z góry dzięki za pomoc!

1

wywal te KlasaX, przecież jestes w klasie

0
class KlasaX
  {
   public:
   KlasaX():tab(vector<int>(10)) {}
   private:
   vector<int> tab;
   int *wsk_do_tab;
   void set_wsk_do_tab() { wsk_do_tab = &tab[3];}
  };

Z tym że to jeden wielki bezsens.

0

Dzięki, ale nie do końca o to mi chodziło. Bo teraz jakbym zrobił dwa obiekty i przypisał jeden do drugiego to ten drugi będzie pokazywał na 3 element tablicy tego pierwszego obiektu (pomijam kwestię utworzenia operatora przypisania)... ;/
Ale obawiam się, że to co chcę zrobić jest awykonalne ;/

0

Po kiego ci zapisywanie tego adresu?

2

To jest niebezpieczne co chcesz zrobić.
Dodanie elementu do vectora może spowodować relokację danych i wskaźnik będzie nieprawidłowy.

Przechowuj indeks do wektora, a nie wskaźnik.

1 użytkowników online, w tym zalogowanych: 0, gości: 1