C++/C
ავტორი Dixtosa
კითხვები & დახმარება
წერილები: 57
Dixtosa says:
12 მაისი 2012, 19:01
ხო აქ ამ ენის უცნაურობებთან და ასე შემდეგ.

პირველი კითხვა:
რატომ არ შეიძლება ასეთი რამ:

string S[2];

vector<string[2]> V;

V.push_back (S);
წერილები: 50
brolia says:
13 მაისი 2012, 10:52
http://www.velocityreviews.com/forums/t501931-why-cant-i-have-a-vector-string.html


The type of a vector (i.e. T in vector<T>) needs to support copy. The
standard does not allow copy of arrays.

i.e.

int a[2];
int b[2];

b=a; // not allowed.


დავაციტატე მაგრამ რატომღაც არ აღნიშნავს რომ ციტატაა :-?
წერილები: 21
aazizian says:
18 მაისი 2012, 19:50
@Dixtosa

და ესეთი რეალიზაცია არ გიცდია ?


pair<string, string> s;
vector<pair<string, string> > v;
v.push_back(s);
წერილები: 18
giorgi123 says:
19 მაისი 2012, 15:43
struct rame{
string str;
//an nebismieri sxva type rac chveulebrivad ar "mushaobs vectorshi".
};
vector<rame> v;

aazizianma rac dawera egec wava mara tu ar gchirdeba rato unda sheqmna 2 stringi roca erts xmarob(an kodi unda gaartulo tu orives ixmar)...
წერილები: 21
aazizian says:
19 მაისი 2012, 16:34
@giorgi123

რა საჩიროა სტრუქტურის შექმნა როცა ერთ string ამატებ ? :D


string s;
vector<string> v;
v.push_back(s);


ჯერ გაერკვიე რას გეკითხებიან. string s[2] იგულისხმება 2 string-ი...
წერილები: 18
giorgi123 says:
19 მაისი 2012, 16:55
"//an nebismieri sxva type rac chveulebrivad ar "mushaobs vectorshi"."

3 an 4 stringi ro dachirdes mere gansakutrebit gamoadgeba pair ebi..
წერილები: 57
Dixtosa says:
19 მაისი 2012, 17:26
@giorgi123, ქართულად წერე რა :).

@brolia , ჰაჰ რატომღაც უნგოოგლეაბლე მეგონა :დ.

@ალლ, კაი გასაგებია მადლობა. ვსო აღარ გვინდა ამაზე.
წერილები: 57
Dixtosa says:
3 აგვისტო 2012, 0:32
მეგობარნო რა არის ეს და რას ინახავს ვარ-ში კიარადა რას ვერ ინახავს :დ


და რა პონტია სტრინგ ლიტერატლი და მერე []? :დ

ანუ ვითომ ლიტერალმა ობიექტი შექმნა და ამან ერეი ობიექტების?



int var;
* ( ( char * ) & var ) = "str"[3];

ჩასწორება:
ერთი გავარკვიე რომ სთრლიტერალი და მერე [] მხოლოდ ინდექსირებაა.

და კიდევ რადგან &-ამის გარეშე არ მუშაობს მგონი აქ const reference-თან გვაქვს საქმე. მარა მაინც ვერ გავიგე.

ჩასწორება ნო. 2:

მდაჰ მგონი რაღაცას მივაკლვიე :დ

#include <iostream>
int main ()
{

int var=49;
* ( ( char * ) & var ) = "2tr"[0];


//char * A= (char * ) (&var);


std::cout<<var<<std::endl;

//std::cout<<A;
system("pause");

return 0;
}

ბეჭდს 50.


წინ მივდივართ ბიჯებო! :დ
წერილები: 50
brolia says:
3 აგვისტო 2012, 13:58
const reference არაფერ შუაშია,
* ( ( char * ) & var )
ამ გამოსახულებით იღებ var ცვლადის პოინტერს, მასზე უთითებ ჩარის მითითებით და დირეფერნსს აკეთებ რომ მიანიჭო რაღაც.

"2tr"[0] კიდე იგივეა რაც

string s = "2tr";
s[0]



ანუ შენ რასაც აკეთებ იგივეა რაც

char *p = &var;
*p = '2';

გთხოვთ გაიარეთ ავტორიზაცია კომენტარის გამოსაქვეყნებლად.
სიახლეები Facebook-ზე
მომავალი ღონისძიებები
მომავალი ღონისძიებების სია ცარიელია.
ღონისძიებების კალენდარი
მხარდამჭერები






ახალი კომენტარები
Dixtosa Episode II - Analysis...
Eშისაიდან მოვიდა 3**13?ისე 4 * 52 * 3**13 = 331M+ ...
Quick GeOlymp 2013 - ფინალური ეპიზოდი იწყება...
Upsolving ჩაირთო...
saba_tavdgiridze GeOlymp 2013 - ფინალური ეპიზოდი იწყება...
აღარ მინდა.:)...
saba_tavdgiridze GeOlymp 2013 - ფინალური ეპიზოდი იწყება...
B ამოცანის 17 ტესტს ვერ მიმანიშნებთ?...
tornike5 GeOlymp 2013 - ფინალის შესახებ...
ვაპირებდი იგივე მეკითხა მარა მეგონა უეჭველი იქნება...
giorgi123 GeOlymp 2013 - ფინალის შესახებ...
მადლობა.შარშან ფინალში ამოცანების ყურებით ვიფარგლე...
Elle GeOlymp 2013 - ფინალის შესახებ...
შარშან ფინალს codeblocks-ით წერდით?დავაყენეთ codeb...