में उपयोग करना चाहता हूं, नीचे दिए गए कोड में, मेरे पास एक निश्चित कथन है जो इनपुट स्ट्रिंग 10 वर्णों से कम है। मैंने bool
को cont
कहा है जिसका उपयोग मैं अपनी शर्तों को पूरा करने के बाद थोड़ी देर के लिए रोकने के लिए कहता हूं।एक चर को अलग करने के लिए घुंघराले ब्रेसिज़ का उपयोग करना जिसे मैं कई बार C++
#include "stdafx.h"
#include <iostream>
#include <string>
int main()
{
using namespace std;
cout << "Enter a string less than 10 characters long: ";
string teststring;
{
bool cont(false);
//if input is 10 or more characters, ask for input again until it is less
while (!cont)
{
getline(cin, teststring);
if (teststring.length() >= 10)
{
cout << "Too long, try again: ";
}
else
{
cout << "Thank you.\n\n";
cont = true;
}
}
}
return 0;
}
तुम वहाँ देख सकते हैं, मैं {}
रों का एक सेट का उपयोग किया है उन ब्रेसिज़ के भीतर cont
चर एक स्थानीय गुंजाइश दे बाहर कोड को अलग करने,। मैंने ऐसा इसलिए किया कि यदि मैं कभी उस वैरिएबल नाम का फिर से उपयोग करना चाहता था, तो मैं इसे फिर से घोषित कर सकता था, और जब मैं इसके साथ कर रहा हूं, तो यह नष्ट हो गया है।
क्या यह एक स्वीकार्य अभ्यास है? या क्या मैंने किया है करने के लिए एक बेहतर तरीका है? मैं स्वीकार करता हूं कि इस विशिष्ट, मूल परिदृश्य में, स्थिति काफी सरल है कि यह शायद ही आवश्यक है, लेकिन मैं भविष्य में अधिक जटिल लूप के लिए ऐसा करना चाहूंगा।
आप क्यों इसे फिर से घोषित करने के लिए आप इसे फिर से उपयोग करने के लिए जा रहे हैं चाहेगा? तुम बस पाश के बाद गलत पर डाल दिया है और इसे पुन: उपयोग करता है, तो आप (गुंजाइश बात के बिना) – moffeltje
चाहते यदि आप पाते हैं अपने आप को यह करने के लिए की आवश्यकता होगी, के लिए, आप एक समारोह में बहुत अधिक कोड हो सकता है। आपको इसे एक अलग समारोह में तोड़ना चाहिए। –
इसी प्रकार के प्रश्न http://stackoverflow.com/questions/21278015/on-using-several-scoped-blocks-in-a-c-function। – AldurDisciple