C++ için goto kullanımı

0
anonim
Eskiden beri goto terimi ile programcıların arasında ne olduğunu merak ederim. Hemen her kitapta goto teriminden neredeyse bir küfürmüş gibi bahsedilir ama yinede kullanımı anlatılır. Sonunda merakımı gideren cevabı Bruce Eckel'in Thinking in C++ kitabında buldum. Bu kitabın goto kullanımı ile ilgili kısmını aşağıda bulabilirsiniz.
"Goto kullanımı çoğu zaman kötü programcılıkla karıştırılır ki; çoğu zaman da öyledir aslında. Her goto kullandığınızda koda bir daha bakın, başka bir yol olmadığından emin olmak için. Ancak bazı ender durumlarda bir sorunun ancak goto ile çözüldüğünü görebilirsiniz, ama yine de dikkatli olun. İşte bir örnek:
//: C03:gotoKeyword.cpp
// The infamous goto is supported in C++
#include <iostream>
using namespace std;

int main() {
  long val = 0;
  for(int i = 1; i < 1000; i++) {
    for(int j = 1; j < 100; j += 10) {
      val = i * j;
      if(val > 47000)
        goto bottom; 
        // Break would only go to the outer 'for'
    }
  }
  bottom: // A label
  cout << val < endl;
} ///:~


Bir alternatif olarak dışardaki döngüyü test etmek için bir boolean yerleştirilebilir, ve iç döngüyede bir break konulabilir. Ama, eğer daha fazla for ve while döngülerimiz olsaydı içiçe bu iyi bir çözüm olmaktan çıkardı."

Görüşler

0
malkocoglu_2
||Bir alternatif olarak dışardaki döngüyü test
||etmek için bir boolean yerleştirilebilir

.. ya da, goto yerine, dongunun gereken kismini bir islev icine koyup, return kullanarak icice donguden cikabilirsiniz.

Goto'nun zararlari, eski ustalardan Djikstra tarafindan cok ünlü bir makalesinde beyan edilmisti.

Go To Statement Considered Harmful
http://www.acm.org/classics/oct95/

Iyi calismalar,

0
mentat

int main() {
long val = 0;
try{
for(int i = 1; i 47000)
throw benimciciexception();
}
}
catch(benimcicexception ex)
{
cout
exception mekanizmasini kullanmaya hic alisik degilim ama goto'dan hala bin kat daha iyidir. ya da degildir.. goto'yu sevmeyenlerdenim, derleyiciler de sevmezler ayrica. bulasmamakta fayda var..
0
mentat
forumda bi bozukluk var, bu benim yazdigim kod diil! bes alti kere post etmeye cabaladim, sistem php falan kasildi hata verdi, ustune blockquote icine koydum ama yarisini yedi mesajin..

kisaca forlarin basina bir try, goto yerine throw, label yerine de catch ekledim, exception handling iste..
0
mentat
off amaaan, kucuktur buyuktur isareti nanesi.
0
FZ
lt kullanin, gt kullanin ve de PRE html tag´ini kullanin ;-) dünya daha güzel bir yer olsun, sac bas yolmayin
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Python Paradoksu

FZ

Paul Graham, geçenlerde (2004 Ağustos'unda) kısa bir makale yazmış, bakalım ne demiş:

"Kısa bir süre önce gerçekleştirdiğim bir konuşmada pek çok insanı hayalkırıklığına uğratan bir laf ettim: Python tabanlı bir proje için bulabileceğiniz programcılar, Java tabanlı bir projeye çekebileceğiniz programcılardan daha zeki olacaktır.

Kast ettiğim Java programcılarının aptal olduğu değil. Kast ettiğim şey, Python programcılarının daha akıllı olduğu. Yeni bir programlama dilini sıfırdan öğrenmek çaba gerektirir. Ve insanlar Python'u yeni bir iş bulabilirler diye öğrenmiyorlar; insanlar Python'u öğreniyor çünkü gerçekten programlamayı seviyorlar ve halihazırda kullandıkları dillerden memnun değiller.

İnsanlarda, hayvanlarda ve bilgisayarlarda zekâ

FZ

Bilim ve Gelecek dergisinin Mayıs sayısı bayilerde. Kapak konus: İnsanda, bilgisayarda ve hayvanda zeka.

Bilim ve Gelecek son sayısında, akıl, bilinç, zekâ, anlama, uslamlama, zeki davranış, beceri gibi kavramlara değiniliyor ve hayvanlarda, insanda ve bilgisayarda zeki davranışların olup olmadığını tartışılıyor. "İnsan, bilgisayar ve zeki davranış" başlıklı makalesinde Ulaş Başar Gezgin, bilişsel bilimlerin çerçevesini açıkladıktan sonra bilgisayar ve insan taraftarlarını tartıştırıyor. Bir testten yola çıkarak şu soruya yanıt arıyor: İnsan ussal bir varlık mı? Tuğrul Atasoy ise, soyut zekâmızın evrimsel köklerini en yakın türlerden başlayarak hayvanlarda aradığı makalesinde, hayvanlar dünyasında bilinç ve zekâya ilişkin çarpıcı örnekler veriyor.

Hızlı ve Kirli Bir mod_chroot Kılavuzu

anonim

Apache ile çalışıyorsanız güvenlik işlemlerinin en başında yer alan şartlardan biri Apache'yi kafes içinde çalıştırmaktır.

Ancak klasik kafesleme yaklaşımları bazen insanın sabrını zorlayacak derecede karmaşık ve problemli olabiliyor ( Kişisel görüş kimseyi bağlamaz :) ) .

Ben kendi çözümümü mod_chroot ile hızlı ve kolay biçimde tamamlarken ortaya bu belge çıktı. Her ne kadar sürç-i lisan ettikse affola...

`Linux İncili´

butch

Dolar aldı başını gidiyor. E iyi kitaplar da dolarla satılıyor. Sanırım bu ortamda bize sağlam bir yer lazım şöyle aradığımız ve işe yarayacak kitapları bedavaya bulabileceğimiz. http://linuxdoc.org/ gerçekten bu konuda iyi bir tercih olacak sanırım. Gidin bir görün. Ama özellikle "Securing and Optimizing Linux Red Hat Edition" kitabına dikkat edin. Sundance'in tabiriyle Linux İncili. Hemen indirin ve mesai bitimini beklemeye başlayın lazer yazıcılara yüklenmek için. Tabi hala işiniz varsa...

e-Bergi Kasım 2008 Sayısı Çıktı!

anonim

e-bergi Kasim 2008 sayısıyla bu ay da sizlerle! Hala tıklamadınız mı?