'Göstərici-aritmetik' ilə etiketlenen suallar

Sınırlı sayda pointer aritmetik əməliyyatlar edə bilərsiniz. Bu əməliyyatlar: artırmaq, azaldmaq, əlavə etmək, çıxarmaq, müqayisə etmək və təyin etmək.
18
Cavablar

Dizilerle niyə belədir, [5] == 5 [a]?

Joel, on123.ru # 34 podcastində qeyd etdiyimiz kimi, C proqramlaşdırma dilində (aka: K R) C-dəki dizilişlərin bu xüsusiyyəti qeyd olunur: [5] == 5 [a] Joel bu pointer aritmetiği hələ də başa düşmürəm. Niyə [5] == 5 [a]?
19 dekabrda təyin olundu '08 saat 20:01 'də
8
Cavablar

C göstəricisinə işarə edən pointer arithmetic

Belirli bir növü olan bir pointer (məsələn, int, char, float, ..) artdıqda, dəyəri bu məlumatın ölçüsünə görə artır. Göstərici boşluqda x ölçüsünə aid olan məlumatlara baxırsa, x nöqtəyə çatdıqda bu xeyli artacaq ...
19 Avqust tarixində təyin olundu '10 'da 18:05' də
8
Cavablar

Göstərici sintaksisinə və kod nəsilinə qarşı bir sətra sintaksisi?

Richard Rees'in C Pointers'i Anlama ve Kullanma kitabında, bkz. Sayfa 85, int vektor [5] = {1, 2, 3, 4, 5}; Vector [i] tərəfindən yaradılan kod, * (vektor + i) tərəfindən yaradılan koddan fərqlidir. vektor [i] notation vektoru [i] maşın yaradır ...
İyulun 17-də saat 18: 00-da başlayacaq
7
Cavablar

Pointer aritmetiği

Hər hansı bir yaxşı məqalə və ya şərhlər (bloglar, nümunələr) pointer arithmetic üçün var? Tamaşaçı nümunəsi C və C ++ öyrənən bir çox Java proqramçıdır.
27 dekabrda təyin olundu '08 saat 10:10 'da
5
Cavablar

C standart göstəricisinə zahirən bir dəyəri təyin etmək və artım təmin edirmi?

Bu kodun davranışı yaxşı müəyyənləşdirilmişdir? #include <stdio.h> #include <stdint.h> int ana (void) {void * ptr = (char *) 0x01; size_t val; ptr = (char *) ptr + 1; val = (size_t) (uintptr_t) ptr; printf ("% zu \ n ...
İyun ayının 28-də saat 18: 00-da təyin olundu
5
Cavablar

Göstərici p üçün, p <p + 1 son çarə kimi saxta ola bilərmi?

Bir göstərici dəyişən p üçün p <(p + 1) saxta ola bilərmi? Cavabınızı izah edin. Əgər belədirsə, hansı hallarda bu baş verə bilər? Mən p + 1'in daşmasına və 0-ə bərabər ola biləcəyinə merak etdim. Məsələn: H ...
set 03 dekabr '14 saat 16:30 'da
11
Cavablar

Sütun arifmetik və imza ilə array dəyərlərinə giriş

C ilə oxumaq davam edir, pointer arithmetic bir sıra daxil olmaq üçün adətən daha sürətli imzalar istifadə edir. Müasir (ehtimala optimallaşdırıcı) kompozitorlar da belədir? Əgər belədirsə, bu, hələ də başlamağa başlamamış vəziyyətdir.
24 oct. '08 saat 14:25 'də
5
Cavablar

İki müxtəlif tampon ilə pointer aritmetik

Aşağıdakı kodu nəzərdən keçirin: int * p1 = new int [100]; int * p2 = yeni int [100]; const ptrdiff_t ptrDiff = p1 - p2; int * p2_42 = p1_42 + ptrDiff; İndi, p2_42-nin p2-ə (42-ə) bənzəyən Standart təminatı varmı? Əgər yoxsa, onda ...
28 yanvar təyin etdi '19 saat 14:52 'də
2
Cavablar

Ptrdiff_t, eyni dizi obyektinin elementlərinə göstəricilərin bütün ayrılmalarını təmsil edə bilərmi?

I və j göstəriciləri eyni array obyektinin elementlərinə çıxmaq üçün [expr.add # 5] -də bir qeyd oxuyur: [Qeyd. Əgər mənfəət dəyəri std :: ptrdiff_t tipində deyilsə, davranış müəyyənləşdirilmir. - sonlu ...
20 Mart 18: 18-də saat 12: 27-də təyin olundu
4
Cavablar

Bu, obyektlərin düzəldilməsinə xüsusi bir vəziyyət deyilməlidir?

Deyək, mən Base sinifdən gələn Derived bir sinif var, ölçüsü isə (Derived)> sizeof (Base). Artıq aşağıdakı kimi bir Törədilmiş array ayırırsanız: Base * myArray = new Derived [42]; və sonra da ...
Mayın 5-də saat 16: 15-da təyin olundu
1
cavab

Subobject Boundaries üzrə Index Aritmetik

Aşağıdakı kod (sub-object sərhədləri üzrə göstərici arifmetikini yerinə yetirən) tərtib edilmiş T tipləri üçün düzgün davranışa malikdirmi (C ++ 11-də POD olması lazım deyildir) və ya onun alt kümesi? #include <cassert> #i ...
05-də saat 13: 13-də saat 09:53
7
Cavablar

Aritmetik və ya pointer müqayisəsi üzrə məhdudiyyətlərin əsaslandırılması nədir?

C / C ++-də göstəricinin əlavə edilməsi və ya yığılması yalnız nəticə göstəricinin tam obyekt kimi orijinal pointerin içində olduğu halda müəyyən edilir. Bundan başqa, iki göstəricinin müqayisəsi yalnız ikisi göstərildikdə yerinə yetirilə bilər ...
set 03 dekabr '17 'də saat 11.05' də
1
cavab

C ++-da qeyri-array tipi bir etibarlı konsepsiyanın bire bir göstəricisi varmı?

Standart C ++ [c 5.7] deyir: Hər iki işarənin göstəricisi və nəticəsi eyni array obyektinin elementlərinə və ya bir sıra keçmiş elementin sonuncu elementinə baxırsa, qiymətləndirmə daşqınlara gətirməməlidir; əksinə
24 yanvar təyin etdi '13 saat 19:15 'də
1
cavab

C ++ std :: cout-da yeni bir satır çap üçün maraqlı bir sözdizimi var

Aşağıdakı kod '*' simvollarının kvadratını yazır: int m = 5; int n = 5; (int i = 1; i <= n; i ++) üçün (int j = 1; j <= m; j ++) std :: cout << "*" << "\ n" [j = 5]; Sonuç: * * * * * * * * * * * * * * * * * * * * * * * * * ...
Mayın 14-də, saat 17:
6
Cavablar

Yerli dəyişənlərin ünvanı C ++ 11-də sabit ifadəni qəbul edirmi?

Aşağıdakı C ++ 11 proqramı: int x = 42; void f () {int y = 43; static_assert ( x < y, "foo"); } int main () {f (); } Gcc 4.7 ilə əlaqəli deyil, çünki şikayət edir: səhv: ' y' daimi bir ifadə deyil ...
21 avq. '13 saat 11: 24-də