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

Для чего typedef struct - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Виснет программа http://www.cyberforum.ru/cpp-beginners/thread929962.html
Задача следующая: Напишите программу, которая приблизительно рассчитывает значение математической константы е, используя формулу : е = 1 + 1/1! +1/2! +1/3! + ..... Программу написал, но почему при...
C++ Параметр функции Задаюсь вопросом для чего это нужно. const string &Function(int &i; int &j) { //код функции. } Адрес у i и j, это понятно для того что-бы если в функции будут изменяться i и j, чтоб они и... http://www.cyberforum.ru/cpp-beginners/thread929959.html
C++ Файловый ввод-вывод - "A + B"
Казалось бы простенькая задача, а решить я её не могу :) Пробовал несколько вариантов, всё равно не выходит :) Накидал такое: #include <stdafx.h> # include <iostream> # include <fstream>...
Длинные фиббоначи C++
От нечего делать написал это: // ConsoleApplication1.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> #include <vector> using namespace std;...
C++ О перевыделении памяти для массива объектов http://www.cyberforum.ru/cpp-beginners/thread929938.html
Мне необходимо сделать динамический массив объектов класса, который будет расширяться при необходимости. Понятно, что для такого существует выделение через malloc и перевыделение через realloc, но...
C++ сортировка вектора sort() программа заполняет вектор рандомными числами в диапазоне от 1 до 100 сортирует с помощью алгоритма sort(.begin(),.end()) - в восходящем порядке можно ли отсортировать с помощью sort() - в... подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
18030 / 6262 / 427
Регистрация: 30.03.2009
Сообщений: 17,207
Записей в блоге: 27
28.07.2013, 18:41
По поводу заведения typedef'а для указателя на структуру. На мой взгляд это тоже не очень удобно. Потому что в этом случае невозможно будет задавать указатель на const. Т.е. вот так можно

C
typedef struct {
  ...
} struct_t;
 
struct_t *ptr1;
const struct_t *ptr2;
а вот так нельзя (в смысле можно, но получим совсем не то, что хотели):

C
typedef struct {
  ...
} struct_t;
 
typedef struct_t * struct_ptr_t;
 
struct_ptr_t ptr1;
const struct_ptr_t ptr2;
а чтобы получить то, что хотели, то надо писать:

C
typedef struct {
  ...
} struct_t;
 
typedef struct_t * struct_ptr_t;
typedef const struct_t * struct_const_ptr_t;
 
struct_ptr_t ptr1;
struct_const_ptr_t ptr2;
Лично моё мнение - заведение отдельного typedef'а на указатель скорее приводит к бардаку и снижению читабельности кода, чем к порядку
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru