Другие языки программирования и технологии

Чем оператор . отличается от оператора ->?

и то и другое селектор, который используется для доступа к полям, например, структуры или методам класса.
Но точка используется когда у вас объект структуры или класса, а стрелка когда указатель на объект.

#include<iostream>
using namespace std;

struct Point
{
double x;
double y;
};

int main()
{
Point p1; // объект
Point *p2 = new Point; // указатель

p1.x = 10;
p1.y = -5;

p2->x = -2;
p2->y = 5;

return 0;
}
Ermek Maratov
Ermek Maratov
17 777
Лучший ответ
И то и другое операторы доступа к члену структуры или класса.
Стрелка -- косвенный доступ через указатель.
Точка -- прямой, по имени.

Если с -- указатель на какую-либо структуру имеющую поле m, то с->m будет эквивалентно (*c).m
Дмитрий Варчак
Дмитрий Варчак
71 490
и то и другое селектор, который используется для доступа к полям, например, структуры или методам класса.
Но точка используется когда у вас объект структуры или класса, а стрелка когда указатель на объект.

#include<iostream>
using namespace std;

struct Point
{
double x;
double y;
};

int main()
{
Point p1; // объект
Point *p2 = new Point; // указатель

p1.x = 10;
p1.y = -5;

p2->x = -2;
p2->y = 5;

return 0; не так
ist main=0 а вот так
смотря где. В РНР точна - символ контатенации, то есть соединяет два значения в единую строку, а стрелочка обозначает вызов метода или свойства объекта класса.
$class_object = new SomeClass;
$class_object->some_class_method();