wykonałem program który porównuje czas pracy programu z użyciem wskaźników oraz bez nich . Co dziwne w większości przypadków program na wskaźnikach wykonuje operacje wolniej niż bez ich użycia , poza tym mimo że użyłem znaku * to program do tablicy wsadza mi jakieś dziwne dane . Wiem że powód może być błahy i być może zrobiłem jakiś błąd w kodzie ale nie mogę go znaleźć . Mam nadzieje że zrozumieliście o co mi chodzi (:
Dziękuje za wszelką pomoc i pozdrawiam
#include <iostream>
#include <time.h>
#include <cstdlib>
using namespace std;
int how_many;
double times;
clock_t _begin ,_end;
int main()
{
cout<<"how many int ? : ";
cin>>how_many;
int *w = new int [how_many];
_begin=clock();
for(int i=0; i<how_many; i++)
{
w[i] = i;
w[i] = w[i]+50;
}
_end=clock();
times = (double)(_end-_begin)/CLOCKS_PER_SEC;
cout<<"time : "<<times<<endl;
delete [] w;
int *w2 = w;
w = new int [how_many];
_begin=clock();
for(int i=0; i<how_many; i++)
{
*w2 = i;
*w2 = *w2+50;
w2++;
}
_end=clock();
times = (double)(_end-_begin)/CLOCKS_PER_SEC;
cout<<"time : "<<times<<endl;
return 0;
}