မင်္ဂလာပါ!

လှိုက်လှဲစွာကြိုဆိုပါသည်။ ယခု ပထမဆုံးအကြိမ် ရောက်ဖူးခြင်းဖြစ်ပါသလား? ဝင်ရောက် ဆွေးနွေး မေးမြန်းလိုပါလျှင် အောက်တွင်ဖော်ပြထားသော button များမှတဆင့် ဝင်ရောက် ဆွေးနွေးနိုင်သကဲ့သို့ အဖွဲ့ဝင်အသစ်အနေဖြင့်လည်း လျှောက်ထားနိုင်ပါတယ်။

MYSTERY ZILLION တွင် English သို့မဟုတ် Unicode ဖြင့်သာ အသုံးပြုခွင့်ရှိသည်။ ဇော်ဂျီ ၊ ဧရာ စသည်တို့ကို အသုံးပြုခွင့် မရှိ။ Unicode fonts များမှာ Mon3,Yunghkio, Myanamr3 စသည်များ အသုံးပြုနိုင်သည်။ Unicode Guide ကို ဒီမှာ Download ချပါ။ Zawgyi to Unicode Converter
Don't share ebook or software if nobody request. You can find free book websites on here. We are welcome for discussion or asking question instead.

STL ကို သုံးဖူးပါသလား

edited February 2011 in C++
C++ မှာ အရမ်း အသုံး၀င်တဲ့ STL (Standard Template Library) အကြောင်း ကြားဖူးပါသလား။ သုံးဖူးပါသလား။ :confused:

မှတ်ချက်များ

  • KK
    edited October 2010 Moderators
    SLT ကိုကြားဖူးတယ်ဗျ။ ဒါပေမယ့် မသုံးဖူးဘူး။ သိလို့ရှိရင် သေချာရှင်းပြပေးပါလား? :)
  • edited October 2010 Administrators
    အင်း.. တကယ်ကတော့ အဲဒါတွေက လူသုံးများတဲ့ data structure တွေပါပဲ ပြန်သုံးလို့ရအောင် data type မရွေးပဲသုံးလို့ရအောင် Template ကိုသုံးရေးထားတဲ့ Library တွေပါပဲ။ ကိုယ်တိုင်လုပ်ရမှာ အလုပ်ရှုပ်ရင်တော့ ယူသုံးလိုက်ပေါ့ဗျာ မဟုတ်လည်း Function တွေပဲဟာ နာမည်သိသုံးလို့ရတာပါပဲ ဘာခက်တာလိုက်လို့ ဘယ်ဟာဘာအတွက်ဆိုတာပဲ စာနည်းနည်းဖတ်ဖို့လိုမှာပါ။ အဲဒါတွေယူမသုံးခင်တော့ Template ကို အသေအချာသိဖို့လိုတယ် Template ကတော့ OOP လို့ပြောလို့မရပေမယ့် Data Abstraction လို့တော့ ပြောလို့ရပါတယ် Object Oriented Language တိုင်းမှာတော့မပါပါဘူး။
  • edited October 2010 Registered Users
    ကြားဖူးတယ်။ လက်တွေ့မသုံးဖူးသေးဘူး။ Intro လေး Simple Example လေးနဲ့ မိတ်ဆက်ပေးပါလား။
    ကျေးဇူးတင်စွာဖြင့်-
  • edited October 2010 Administrators
    researcher wrote: »
    ကြားဖူးတယ်။ လက်တွေ့မသုံးဖူးသေးဘူး။ Intro လေး Simple Example လေးနဲ့ မိတ်ဆက်ပေးပါလား။
    ကျေးဇူးတင်စွာဖြင့်-

    အောက်မှာပြထားတဲ့ ကုဒ်နှစ်ခုကိုယှဉ်ကြည့်ပါ နားလည်အောင်ဖတ်ကြည့်ပါ အဲဒါဆိုရင် Template ဆိုတာ ဘာမှန်းသိပါလိမ့်မယ်။ အဲဒါဆိုရင် STL ကိုစဖတ်ကြည့်လို့ရပါပြီ။ နားမလည်ဘူးဆိုရင်တော့ Language ကိုနားမလည်သေးလို့ပါ C++ အတွက်စာပြန်ဖတ်ဖို့လိုပါဦးမယ်။
    #include<iostream>
    using namespace std;
    
    void bubble(int a[], int n)
    {
    	int i, j, t;
    	for(i=n-2;i>=0;i--)
    	{
    		for(j=0;j<=i;j++)
    		{
    			if(a[j]>a[j+1])
    			{
    				t=a[j];
    				a[j]=a[j+1];
    				a[j+1]=t;
    			}
    		}
    	}
    }
    
    int main()
    {
    	int data[]={5, 6, 1, 0, 4, 6, 4, 3, 0, 1};
    	bubble(data, 10);
    	for(int i=0; i<10; i++)
    		cout<<data[i];
    	return 0;
    }
    
    #include<iostream>
    using namespace std;
    
    template <class T>
    void bubble(T a[], int n)
    {
    	int i, j;
    	T t;
    	for(i=n-2;i>=0;i--)
    	{
    		for(j=0;j<=i;j++)
    		{
    			if(a[j]>a[j+1])
    			{
    				t=a[j];
    				a[j]=a[j+1];
    				a[j+1]=t;
    			}
    		}
    	}
    }
    
    int main()
    {
    	int data_int[]={5, 6, 1, 0, 4, 6, 4, 3, 0, 1};
    	float data_float[]={5.1, 6.6, 1.1, 0, 4.5, 6.5, 4.5, 3.1, 0, 1.7};
    	bubble<int>(data_int, 10);
    	for(int i=0; i<10; i++)
    		cout<<data_int[i]<<' ';
    	cout<<endl;
    	bubble<float>(data_float, 10);
    	for(int i=0; i<10; i++)
    		cout<<data_float[i]<<' ';
    	return 0;
    }
    
  • edited October 2010 Registered Users
    STL ဆိုတာ C++ Standard Library မှာ ပါတဲ့ Library ပါ။ C++ compiler အားလုံး နီးပါးမှာ ပါပါတယ်။ သူ့မှာ ပါတာတွေကတော့ Containers, Iterators, Algorithms နဲ့ Functors တွေပါ။ သုံးတတ်ရင် တော်တော် အသုံး၀င်ပါတယ်။ အခုဆိုရင် STL ကနေ အဆင့်တက်ပြီး C++0x Standard ကို သုံးဖို့ လုပ်နေကြပါပြီ။ ကျနော်လဲ အကုန်မသုံးဖူးပါဘူး။ vector, set, list, map နဲ့ iterator နဲနဲပဲ သုံးဖူးပါတယ်။
  • edited November 2010 Registered Users
    အင်း .. C# တို့ ဘာတို့ ပေါ်လာတော့ C++ ကို သုံးတဲ့သူ နည်းသွားပြီထင်တယ်။ အထူးသဖြင့် မြန်မာပြည်မှာပေါ့။ ကျနော်ကတော့ C++ ကို တော်တော် စိတ်၀င်စားပါတယ်။ အလုပ်မှာလဲ သုံးနေရတာကိုး။
  • edited November 2010 Administrators
    kreatorye wrote: »
    အင်း .. C# တို့ ဘာတို့ ပေါ်လာတော့ C++ ကို သုံးတဲ့သူ နည်းသွားပြီထင်တယ်။ အထူးသဖြင့် မြန်မာပြည်မှာပေါ့။ ကျနော်ကတော့ C++ ကို တော်တော် စိတ်၀င်စားပါတယ်။ အလုပ်မှာလဲ သုံးနေရတာကိုး။

    အင်း... C# ပေါ်လာလို့ နည်းတယ်တော့ မဟုတ်ပါဘူးလေ တကယ်တော့ C++ သုံးရမယ့်နေရာက အဲဒါပဲသုံးနေရတာပါ။ ဗမာပြည်မှာကတော့ နည်းတာက အဲဒါကြောင့် မဟုတ်ပါဘူး သုံးစရာနေရာမရှိလို့ပါ C++ ပဲသုံးမှရမယ်ဆိုတဲ့ အလုပ်မျိုး ဗမာပြည်မှာ ဘယ်လောက်ရှိမှာလဲဗျာ။ နောက်ပြီးတော့ သုံးစားလို့ရတဲ့ C++ သမားရဖို့က Train လုပ်ရတာအတော်ခက်သလို အချိန်ကုန်တယ် ကွန်ပျူတာသင်တန်းမှာ ဖွင့်တဲ့ C++ ဆိုတာက ဘုရားစူးမိုးကြိုးပစ်ရယ်ပါ ကိုယ်တိုင်ပဲ စိတ်ဝင်စားလို့လုပ်မှပဲ သုံးစားလို့ရတဲ့ အခြေအနေကို ရောက်တာပါ။ အဲဒါကြောင့် C++ ကမသုံးမဖြစ်နေရာကလွဲရင် ကျန်တဲ့နေရာတွေကတော့ Productivity အရကျန်တာတွေက သူ့ထက်ပိုကောင်းနေတော့ နေရာတကာတော့ သူ့ကိုမမြင်ရတော့ဘူးပေါ့။
  • edited November 2010 Registered Users
    သိသလောက်ကတော့ STL သုံးတာက ဘယ်လို datatype ပဲလာလာ အဆင်ပြေအောင် template class ဒါမှမဟုတ် template function တို့ကို ဘုံအနေနဲ့ဆောက်ထားပြီး ကြိုက်တဲ့ဆီကခေါ်လို့ရအောင်လို့ပါ။ ဥပမာ ဂဏန်းနှစ်လုံးပေါင်းတဲ့ function ကို integer အတွက်၊ double အတွက် ၊ float အတွက်ရယ်လို့ function ၃၊ ၄ ခုမခွဲတော့ဘဲ ဘယ်datatype လာလာ အဆင်ပြေအောင် function ရဲ့ parameter ကို template နဲ့ဆောက်ထားရင် ဘယ်လိုdatatype အတွက်မဆို အဆင်ပြေသွားတယ်။ Vector တို့၊ map တို့ ဆိုလဲ STL container အမျိုးအစားပါပဲ။ သူတို့ထဲမှာ ကြိုက်တဲ့ data type ကိုသိမ်းလို့ရလို့ပါ။ သိသလောက်ပြောတာပါ။
  • edited February 2011 Registered Users
    STL ကောင်းကျိုး
    ၁. Standard Template Library ဖြစ်လို့ အဆင့်ရှိတဲ့ C++ Compiler တိုင်းက support လုပ်ကိုလုပ်ရပါတယ်...
    ၂. STL နဲ့ရေးထားတဲ့ code ကို Platform ပေါင်းစုံမှာ run နိုင်ပါတယ်...(ဆိုလိုတာက same source code ကိုပဲ gcc compiler ကိုသုံးပြီး compile လုပ်ရင် linux/unix/macosx တွေမှာ run လို့ရပါတယ်...OS ပေါ်မူတည်ပြီးတော့ port လုပ်တဲ့လုပ်ငန်းစဉ်တော့ကွာနိုင်ပါတယ်... Windows အတွက်ကတော့ ရွေးချယ်စရာ compiler အများကြီးပါ... အလွယ်ကူဆုံးက Microsoft Visual Studio မှာ compiler ပါပြီးသားပါ.... IDE မသုံးချင်ရင် Platform SDK ကိုပဲ install လုပ်....)
    Platform ဆိုရာမှာ Operation System တွေကိုပဲမမြင်စေချင်ပါ... VCD/DVD စက်တွေရဲ့ ROM ထဲမှာပါတဲ့ program လေးတွေပဲဖြစ်ဖြစ်.... ရထားဘူတာက လက်မှတ်ရောင်းတဲ့စက်ကို run နိုင်တဲ့ program လေးတွေပဲဖြစ်ဖြစ် STL နဲ့ရေးပြီး သက်ဆိုင်ရာ compiler တွေနဲ့ compile လုပ်လို့ရပါတယ်...
    ၃. C++ က language ပါ... STL က library ပါ.... မရောစေချင်ပါ... C# က language ပါ... .Net Framework က structure ကျကျ library တွေအများကြီးအသင့်ရေးပေးထားတဲ့ Framework ပါ... Library/Framework မရှိဘဲ program ရေးလို့ရပါတယ်... ကွာခြားချက်က ရန်ကုန်က မန္တလေးကို ကားစီးသွားတာနဲ့ လမ်းလျှောက်သွားတာ ကွာသလိုပါပဲ....တစ်ချို့ Function တွေကို ကိုယ်တိုင်စဉ်းစားပြီးပြန်ရေးဖို့မလိုအပ်ပါဘူး.... Library ရဲ့ Function ကိုသုံးပါ... သုံးပုံသုံးနည်းတော့ မှတ်ထားဖို့လိုပါတယ်...

    တိုက်တွန်းချက်
    Platform အများကြီးမှာ run ဖို့မလိုရင် OS ရဲ့ feature တွေယူသုံးနိုင်တဲ့ library မျိုးနဲ့တွဲသုံးပါ... ဥပမာ Windows အတွက်ဆိုရင် MFC (or) ATL
    Multi process/thread program မျိုးရေးတဲ့အခါမှာ သိသာပါတယ်...
Sign In or Register to comment.