'Surəti və dəyişdirilməsi' ilə etiketlenen suallar

C ++-da nüsxələrin mübadiləsi deyimini yerli bir nüsxə yaratmaq və cari obyektlə əvəz etmək üçün surəti konstruktorundan istifadə edərək, tapşırıq operatorunun tətbiqini sadələşdirmək üçün istifadə oluna bilər.
5
Cavablar

Bir surət və dəyişdirmə deyim nədir?

Bu deyim nədir və nə vaxt istifadə olunmalıdır? Hansı problemləri həll edir? C ++ 11 ilə deyim dəyişirmi? Bir çox yerlərdə qeyd olunmasına baxmayaraq, bizdə "bu nədir" suallar və cavablar yoxdur, buna görə də burada. Burada natamam ...
19 iyul 10: 11-də təyin olundu
2
Cavablar

ictimai dost dəyişdirmə funksiyası

Əla cavabda nüsxə və svop-deyimdə bir parça var, bir az kömək lazımdır: class dumb_array {public: // ... friend void swap (dumb_array first, dumb_array second) // nothrow {using std :: swap; dəyişdirmə (firs ...
17 Apreldə təyin olundu '11 saat 21:35 'da
4
Cavablar

Niyə bəzi insanlar yönləndirmək üçün takasdan istifadə edirlər?

Məsələn, stdlibС ++ aşağıdakılara malikdir: unique_lock operator = (unique_lock __u) {if (_M_owns) unlock (); unique_lock (std :: hərəkət (__ u)) swap (* bu); __u._M_device = 0; __u._M_owns = yanlış; qaytarılması *; } Niyə ...
14 iyul, '11 'də 4:03' də təyin olundu
3
Cavablar

Nüsxələşmə nədir və surəti və əvəzediciləri necə optimallaşdırır?

Mən Copy və Swap oxudum. Copy Elision-ə bəzi keçidləri oxumağa çalışdım, ancaq bunun nə olduğunu anlamadım. Kimsə optimallaşdırmanın nə olduğunu və xüsusilə növbəti mətnin nə olduğunu izah edə bilərmi? Bu yalnız rahatlıq məsələsi deyil, bir faktdır ...
27 yanvar tarixində təyin olundu '10 'da 3:37' də
3
Cavablar

Kopyala və dəyişdirmə ilə Idiom Idiom C ++ 11-də Copy-and-Move olur?

Bu cavabda izah edildiyi kimi, surət və dəyişdirmə deyimləri aşağıdakı kimi həyata keçirilir: class MyClass {private: BigClass data; UnmovableClass * dataPtr; ictimaiyyət: MyClass (): data (), dataPtr (yeni UnmovableClass) {} MyClass (con ...
03 iyun 14: 33-də təyin olundu
2
Cavablar

Kopyalayın və idiom hərəkət?

Kopya və Swap istifadə edərək, surətin təyinatını etibarlı təhlükəsizliklə asanlıqla həyata keçirə bilərik: T operator = (T digər) {std :: swap; dəyişdirmə (* bu, digər); qaytarılması *; Buna baxmayaraq, bu, T'nin dəyişdirilə biləcəyini tələb edir. Nə ...
12 Aprel tarixində təyin olundu '17 saat 14:35 'da
1
cavab

Aşırı yük, dəyəri ilə ötürülən bir keçid (l-dəyəri və r-dəyəri) nə vaxt həyata keçirilir?

Mən gördüm ki, eyni tipli bir parametrə dəyərinə yazılı bir operator = yazı təyin etmə operatoru və C ++ 11-də hərəkəti təyin təyin etmə operatoru kimi xidmət edir: Foo operator = (Foo f) {swap ( f); qaytarılması * ...
18 Avqustda təyin olundu '13 saat 23.22 'də
3
Cavablar

Move tapşırığı standart kopyalama və dəyişdirmə ilə uyğun gəlmir

Move'un yeni semantikasını test edin. Yalnız Move Constructor ilə yaşadığım problemlər barədə soruşdum. Lakin şərhlərdə olduğu kimi, problem "Hərəkətin təyin edilməsi" operatorunun və "Standart təyinat" operatorunun toqquşmasıdır ...
07 noyabrda təyin olundu. '13 saat 19.41 'də
2
Cavablar

Niyə std :: vektor iki tapşırıq operatoruna sahibdir?

2011-ci ildən etibarən hər ikimizi də köçürə və hərəkət edirik. Bununla belə, bu cavab kifayət qədər qənaətbəxşdir ki, resurs idarəçiliyi sinifləri yalnız bir tapşırıq operatoruna ehtiyac duyur.
21 noyabrda təyin olundu. 2: 00-da '15
2
Cavablar

Nüsxədə və əvəzedicilərlə bir tapşırıq bəyanında necə istifadə etmək olar?

Keçidlərin tapşırıq operatoru tez-tez açıq elan edilməlidir (yəni, növü STL konteynerlərində saxlamalıdır). Lakin deyim "surəti və dəyişdirmə" həm kopyalama tapşırıq operatorlarını təsvir etməyə, həm də əməliyyatları bir kod parçasında hərəkət etməyə imkan verir. Nədir ...
17 Sentyabrda təyin olundu. '13 saat 14:07 'da
2
Cavablar

Kopyalama və dəyişdirmə deyimi dəstəklənməyib

Kopyalama və dəyişdirmə deyimini oxuduqdan sonra oxuyuram: (2): class_name class_name :: operator = (const class_name (2) (2) Kopyala təyinat operatorunun tipik bir bildirişi ...
16 noyabrda təyin olundu. '15 saat 2:59 'da
6
Cavablar

ifadələri təkrar istifadə edin və dəyişdirin

Kopyala və dəyişdirmə deyimini yenidən istifadə edilə bilən mixinə qoymağa çalışıram: şablon <typename derived> struct copy_and_swap {Derived operator = (Derived copy) {Derived * derived = static_cast <Derived *> (this); derived-> s ...
16 avqust '11 saat 17:48 'da
3
Cavablar

Kopyalamanın və deyimlərin dəyişdirilməsinin qeyri-effektivliyi?

Sınıf içərisində bir məlumat elementi std :: vektoru olan bəzi kodları sınamışam. Sinif həm mobil, həm də mobildır və operator = burada idiom istifadə edərək təsvir olunduğu kimi həyata keçirilir. Əgər iki vektor varsa, böyük bir v1 deyin ...
03.03 'də saat 20:03' də təyin olundu
3
Cavablar

Təhlükəsiz tapşırıq və deyim "surəti və dəyişdirmə"

Mən C ++ öyrənirəm və son vaxtlarda replika ilə əvəz edilmişdi və əvəz etdiyim (burada yığma daşımada) öyrəndim və bu barədə bir neçə sualım var. Beləliklə, məsələn, replika ilə deyimin istifadə edərək, aşağıdakı sinifə sahibim: class Foo {p ...
Mayın 6-da saat 11:
2
Cavablar

Dörd (bir yarım) qayda nədir?

Kopyalanma obyektlərinin lazımi şəkildə işlənməsi üçün, başparmak qaydası üçdür. C ++ 11 ilə hərəkət semantikası bir şeydir, bunun əvəzinə, Beşinci Qaydası. Ancaq burada və İnternetdəki müzakirələrdə mən də Chet-nin Qaydasına istinad edirdim ...
18 Avqustda təyin olundu '17 'də 13:17' də