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

Как осуществляется преобразование типов (для чего)? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Неименованые каналы http://www.cyberforum.ru/cpp-beginners/thread427867.html
Почему при работе с pipe() в отце и сыновьям процессе необходимо закрывать ненужные дискрипторы?
C++ Конструктор копирования Помогите пожалуйста разобраться, необходимо добавить конструктор копирования, теорию знаю, а как на практике применить не знаю. Программа вот - http://zalil.ru/32492444. Добавлено через 33 минуты вот нужный отрывок class List { struct Elem { http://www.cyberforum.ru/cpp-beginners/thread427865.html
C++ Шаблоны C++
Написал template на С++, но он нифига не компилица, пишет мол типа не могу string в int преобразовать в строчке int out_param = (int)param; #include <stdio.h> #include <conio.h> #include <string> using namespace std; template <typename InType> class Shablon1 { public:
C++ необходимо найти максимальный элемент матрицы используя несколько потоков С++
Добрый день программисты, необходимо выполнить поиск наименьшего элемента матрицы используя количество потоков равное количеству строк данной матрицы. Каждый поток находит минимальный элемент своей строки и записывает его в одномерный массив. а потом оттуда находиться минимальный элемент. кто сможет помочь с поставленной задачей?
C++ Скопировать в файл F2 только четные строки из F1 http://www.cyberforum.ru/cpp-beginners/thread427856.html
Постановка задачи: Создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию Выполнить задание. При разработке алгоритма считать, что количество строк в исходном файле заранее неизвестно. 1) Скопировать в файл F2 только четные строки из F1. 2) Подсчитать размер файлов F1 и F2 (в байтах). Нужно написать программу.
C++ Здравствуйте, как запихнуть базу данных в программу.?? Задача заключается в том что я незнаю как запихнуть информацию(база данных) во время написание программы, и очень бы хотелось чтоб вы мне помогли в этом, спс)))) подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9382 / 5432 / 916
Регистрация: 25.07.2009
Сообщений: 10,428
14.01.2012, 05:40     Как осуществляется преобразование типов (для чего)?
Цитата Сообщение от Gepar Посмотреть сообщение
VN, преобразование типов необходимо не столь часто, более разумный пример тебе
C
1
char *c=(char*) malloc(sizeof(char)*1);
Здесь без преобразования типов не обойтись так как malloc возвращает просто выделенную память в виде указателя на void, в переменной указатель на char мы собираемся хранить переменную типа char, а не просто кусок памяти поэтому и нужно сделать преобразование.
На самом деле в С всё совсем не так!
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
#include <stdlib.h>
 
int main(void){
    int len = 16, i;
    char * buf = malloc(len);
    
    if ( ! buf ){
        perror("malloc");
        exit(1);
    }
    
    for ( i = 0; i < len-1; ++i )
        buf[i] = 'a' + i;
    buf[i] = 0;
    printf("%s\n", buf);
    
    /* мало того, так тоже отработает */
    for ( i = 0; i < len / sizeof(int); ++i )
        printf("%#x\n", ((int*)buf)[i]);
    
    free(buf);
    
    exit(0);
}
Код
~/cpp/other $ gcc -o void void.c 
~/cpp/other $ ./void 
abcdefghijklmno
0x61626364
0x65666768
0x696a6b6c
0x6d6e6f00
~/cpp/other $
Вот в С++ так работать не будет
Код
~/cpp/other $ g++ -o void++ void.c
void.c: In function 'int main()':
void.c:6: error: invalid conversion from 'void*' to 'char*'
~/cpp/other $
но ТС про С спрашивал...

Цитата Сообщение от VN Посмотреть сообщение
int *p=(int*)str; // ругается на p
Просто из любопытства - а Вы этим чего добиться хотели?
 
Текущее время: 09:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru