C++ ilginç Referans

Kurtbeyi

Misafir Editör
Katılım
5 Şubat 2022
Mesajlar
501
Tepkime puanı
44
Konum
istanbul
Cinsiyet
  1. Bay
Takım
Fenerbahçe

C++ ilginç Referans​


C++:
#include "stdafx.h"

#include <iostream>

using namespace std;

int x; //bu bir global degisken

int& setx(); //iste fantastik referansimiz



int _tmain(int argc, _TCHAR* argv[])

{ int sayi;

cout<<"X icin bir sayi giriniz:"; cin>>sayi;

setx()=sayi; //x'e sayi degerini atar

cout<<"x'in yeni degeri = "<<x;

cout<<"n X icin Yeni bir sayi giriniz:"; cin>>sayi;

setx()=sayi; //x'e sayi degerini atar

cout<<"x'in 2. yeni degeri = "<<x;



getchar();getchar();

return 0;

}

int & setx()

{

return x;

}


bu örneğimdeki

Kod:
int & setx()
{
return x;
}


kısmı bize x i döndürüyor ve aslında sonucumuz:

x= sayi;

gibi bir değer oluşuyor, ama burda referans kullanımı çok önemli. Global olan bir X'e değeri referanslı bir fonksiyonlar atayabiliyoruz..

Peki iyi hoş, sana 2 sorum olacak yazar arkadaşım:
1. Neden bunu kullanayım ki?
2. Neden referans kullandım, burada kullanmasam ne olurdu?

diyen arkadaşlar olabilir..

İlk sorunun cevabı bunu kullandık, çünkü büyük projelerde büyük nesneleri kopyalamak bize hantallık verecektir, ama bunu kullanarak daha performanslı bir program yazabilmiş olacağız.

Gelelim ikinci soruya; burada referans kullanarak kopyalanmasını engelledik; yani yine performans kazandırdık programımıza. Daha önemlisi merak edenler & işaretini kaldırıp referans kullanmazsak ne olur bakabilirler. Hata alacaklardır, çünkü sol tarafa atama yapılırken sol tarafta belirli birşey olması gerekmektedir; yani:

Kod:
setx() = sayi;


kullanımı mümkün degildir.

Sol tarafta belirli birşey olması gerekmektedir..

Umarım faydalı olmuşumdur ...
 
Benzer konular Forum Tarih
Kurtbeyi C ve C++ 2 200
Kurtbeyi C ve C++ 1 197
Kurtbeyi C ve C++ 2 180
Kurtbeyi C ve C++ 1 197
Kurtbeyi C ve C++ 1 159

Benzer konular

İçerik sağlayıcı "paylaşım" sitelerinden biri olan Harbimekan.Com Forum, Eğlence ve Güncel Paylaşım Platformu Adresimizde 5651 Sayılı Kanun’un 8. Maddesine ve T.C.K’nın 125. Maddesine göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur. Harbimekan.Com sitesindeki konular yada mesajlar hakkında yapılacak tüm hukuksal Şikayetler için info@harbimekan.com yada iletişim sayfası üzerinden iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 3 Gün (72 Saat) içerisinde Forum yönetimi olarak tarafımızdan gereken işlemler yapılacaktır.

Bu Site, Bilim ve Sağlık Haber Ajansı Üyesidir.

Yığıntı - 8kez - kaynak mağazam - Uğur Ağdaş