Форум программистов, компьютерный форум CyberForum.ru

Указатель на строку - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разделяемая память и apache CGI http://www.cyberforum.ru/cpp-beginners/thread634245.html
Что есть. Есть машина с windows 7 и апачем на борту. Так же есть программа А, написанная на c++, которая в разделяемую память кладет данные. Что надо. Необходимо чтобы через web интерфейс отображалось содержимое разделяемой памяти. Что получилось. Написана программа Б в VS для теста, со следующим кодом:
C++ "Автозаполнение" имен типов/функций/переменных Собственно вопрос в названии. Чтобы понимать, что за "автозаполнение" : когда вписываешь экземпляр класса/структуры, выдается окошко выбора полей. Всё, что остается, нажать пару раз tab, а затем enter и вот огромное название TheUnsignedLongLongCountOfPeopleInTheWorldAtCurrentTimeIs само вписалось в строчку :< В C# такое поголовно вроде. И типы, и функции, и переменные поддерживают это. А в VS... http://www.cyberforum.ru/cpp-beginners/thread634239.html
Ограничения исключительных ситуаций f(.)throw(.){} C++
Пробовал скомпилировать пример из Г. Шилдта : #include <iostream> using namespace std; //Ограничения типов исключительных ситуаций, генерируемых функцией. void Xhandler(int test)throw(char,double)
C++ Почему перегруженные шаблоны функций должны возвращать один и тот же тип?
Так как я еще очень плохо знаю шаблоны и никак не могу понять. Почему у всех перегруженных шаблонных функций с одинаковыми именами так же должны быть одинаковые возвращаемые значения? Первая программа компилируется а вторая нет. Во второй программе у второго шаблона я просто изменил тип возвращаемого значения с void на int 1) компилируется struct job { char name; double salary;...
C++ Не вызывается нужный конструктор базового класса http://www.cyberforum.ru/cpp-beginners/thread634211.html
Здравствуйте. Я пока в процессе изучения С++. Имеется следующая структура классов: Базовый: Person, расширяющие его: Student и Manager, и наследующий их обоих класс Employee - древо в виде ромба :) Вот собственно код: #include <iostream>
C++ Посчитать сумму четных элементов двумерного масива посчитать сумму четных элементов двухменого массива 10*10 расположенных под главной диагональю подробнее

Показать сообщение отдельно
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.08.2012, 14:41
Цитата Сообщение от Aliru777 Посмотреть сообщение
то что мы получаем разименовав объект еще раз?
Что вы считаете разыменованием ещё раз? Вот это: *pt и это: pt[0], по сути, одно и тоже. То, что находится в памяти, адрес начала которой содержится в pt. Имя массива преобразуется в указатель на начало массива. pt[0] - cодержимое памяти, по адресу в pt, со смещением 0. Исходя из этого, становится понятным и это: (*pt)[0] , pt[0][0]. Одно и то же. Никаких двумерных массивов тут нет. pt[0] - сам объект str, а так как объект string допускает обращение по индексу к элементам строки, с которой этот объект связан, то pt[0][i] (где i - индекс) - это обращение к i - элементу строки.


C++
1
2
3
4
5
6
int a = 10;
int *p = &a;
cout << p << endl; // адрес переменной а.
cout << &(p[0]) << endl; //то же, что и предыдущая строка.
cout << *p << endl; //выводит 10.
cout << p[0] << endl; //то же, что и предыдущая строка.
C++
1
2
3
4
5
int p1[3] = {10, 20, 30};
cout << p1 << endl; //адрес начала массива.
cout << &(p1[0]) << endl; //то же, что и предыдущая строка.
cout << *p1 << endl; //выводит 10.
cout << p1[0] << endl; //то же, что и предыдущая строка.
C++
1
2
3
4
....................
string str="Big!";
.....................
cout<<(&str)[1]; // ошибка.
(&str)[0] - объект str. (&str)[1] - то что в памяти за объектом str (&str + смещение 1, равное размеру объекта). Так как объект string str занимает 32 байта, то (&str)[1] - содержимое памяти по адресу: &str + 32 байта.

Добавлено через 14 минут
В общем виде, можно так написать: если adr - адрес некого объекта, то adr[i] - содержимое памяти по этому адресу со смещением i, где i равно размеру объекта.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru