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

функции работы с памятью - C++

Восстановить пароль Регистрация
 
slipp1
12 / 11 / 1
Регистрация: 09.11.2012
Сообщений: 365
Записей в блоге: 1
15.05.2013, 00:52     функции работы с памятью #1
нужно реализовать свою функцию memcpy.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using std::cout;
using std::endl;
using std::cin;
 
void* my_memcpy(void*, const void*, size_t n);
 
int main()
{
    char to[]="aaaaaaaa";
    char from[]="12345678";
 
    my_memcpy(to, from, 3);
 
    cout<<to<<endl;
    return 0;
}
 
void* my_memcpy(void* to, const void* from, size_t size)
{
        [B][U]//не могу понять? нужно работать с битами или можно через индексы[/U][/B]
    return to;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2013, 00:52     функции работы с памятью
Посмотрите здесь:

C++ Средства для контроля работы с динамической памятью
C++ функции работы со стеком
C++ Обнаружение ошибок работы с памятью
C++ Функции работы с патоками
C++ Функции работы с патоками (на языке С)
C++ Функции для работы с массивами
C++ Разобраться в принципе работы задачч. (Работа с динамической памятью через указатели. )
C++ Функции работы с потоками
Работа с динамической памятью. Ошибка в функции getline через посимвольный ввод C++
C++ Принцип работы функции
Скорость работы функции C++
Функции для работы с динамической памятью C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
15.05.2013, 01:55     функции работы с памятью #2
slipp1, можно по-всякому, вот пример с индексами:
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
26
27
28
29
30
#include <iostream>
using std::cout;
using std::endl;
using std::cin;
 
void* my_memcpy(void*, const void*, size_t n);
 
int main()
{
    char to[]="aaaaaaaa";
    char from[]="12345678";
 
    my_memcpy(to, from, 3);
 
    cout<<to<<endl;
    return 0;
}
 
void* my_memcpy(void* to, const void* from, size_t size)
{
    char* base = static_cast<char*>(to);
    const char* source = static_cast<const char*>(from);
 
    for (size_t i = 0; i < size; ++i)
    {
        base[i] = source[i];
    }
 
    return base;
}
slipp1
12 / 11 / 1
Регистрация: 09.11.2012
Сообщений: 365
Записей в блоге: 1
15.05.2013, 02:05  [ТС]     функции работы с памятью #3
C++
1
static_cast<char*>
нужен так как у нас функция принимает void, то есть любой тип?
Yandex
Объявления
15.05.2013, 02:05     функции работы с памятью
Ответ Создать тему
Опции темы

Текущее время: 19:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru