Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.85/40: Рейтинг темы: голосов - 40, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 29.02.2020
Сообщений: 39

Что будет если добавить элемент в кольцевой буфер n+1 больший, чем размер буфера?

27.05.2020, 05:47. Показов 8429. Ответов 77

Студворк — интернет-сервис помощи студентам
Что будет если добавить элемент в кольцевой буфер n+1 больший, чем размер буфера?


Кольцевой буфер емкостью 1024 вещественных числа. Доступ к
элементам буфера – как к элементам очереди. Обязательны функции-члены
класса для инициализации буфера, добавления/удаления элемента, определения
количества свободного/занятого пространства в буфере.


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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
using namespace std;
#include<iostream> 
class CircularBuffer {
private:
    int* _data;          // Хранимые данные.
    int     _size;          // Размер циклического буффера.
    int     _freeSpace;     // Свободное метос в буффере.
    int     _occupiedSpace; // Занятое мето.
 
public:
    CircularBuffer();
    ~CircularBuffer();
 
    // Метод, возвращающий свободное место.
    int GetFreeSpace() { return _size - _occupiedSpace; }
 
    // Метод, возвращающий занятое место.
    int GetOccupiedSpace() { return _occupiedSpace; }
 
    // Метод добавления элемента в буффер.
    void Add(int val);
 
    // Метод достающий элемент из очереди (с последующим его выталкиванием).
    int Get();
};
 
int main(int argc, char** argv)
{
    // Создаем экземпляр класса.
    CircularBuffer c;
    int count = 10;
 
    // Заполним очередь от 1 до 10 с выводом текущего стояния буффера.
    for (int i = 1; i <= count; ++i) {
        c.Add(i);
        cout << "Fress space: " << c.GetFreeSpace() << "; Occupied: " << c.GetOccupiedSpace() << endl;
    }
 
    // Очистим очередь от 1 до 10 с выводом текущего стояния буффера.
    for (int i = 0; i < count; ++i) {
        cout << "Get next: " << c.Get() << endl;
        cout << "Fress space: " << c.GetFreeSpace() << "; Occupied: " << c.GetOccupiedSpace() << endl;
    }
 
    return 0;
}
 
CircularBuffer::CircularBuffer()
{
    // Инициализация мета под буффер.
    _size = 1024;
    _data = new int[_size];
    // Сборс внутреннего состояния всех полей.
    _freeSpace = _size;
    _occupiedSpace = 0;
}
 
CircularBuffer::~CircularBuffer()
{
    delete[] _data;
} // Не забываем осободить выделенную в конструкторе память.
 
void CircularBuffer::Add(int val)
{
    _data[_occupiedSpace++ % _size] = val;
}  // Устанавивливаем соотв. элемент согласно правилу заполнения циклического буффера.
 
int CircularBuffer::Get()
{
    // Проверка на пустоту буффера.
    if (_occupiedSpace == 0)
        throw "Buffer is empty";    // Борсаем исключение, в случае попытки вытолкнуть из пустой очереди.
 
    int res = _data[0]; // Запоминаем первостоящего в очереди.
    // Сдвигаем очередь на одну позицию вперед.
    for (int i = 1; i < _occupiedSpace; ++i)
        _data[i - 1] = _data[i];
    // Корректируем размер.
    --_occupiedSpace;
    return res; // Возвращаем первый элемент.
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.05.2020, 05:47
Ответы с готовыми решениями:

Почему GetTokenInformation возвращает буфер больший, чем затребованная структура?
Здравствуйте! Помогите, пожалуйста, понять. Беру GetTokenInformation. Затребую тип инфы - TokenUser. Функция говорит, что нужен...

Что будет если в размер массива отправить 0?
Что будет если создать динамический массив int SIDE; int *arr = new int; И ввести SIDE = 0, то что происходит? Объясните...

Что будет иметь больший вес для ПС
в футере на главной странице решил поставить пару ключей. Как лучше оформить их? как ссылку на эту же страницу или как &lt;h4&gt;

77
 Аватар для alexbmd
61 / 5 / 1
Регистрация: 03.06.2013
Сообщений: 355
Записей в блоге: 3
03.05.2021, 10:24
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от DrOffset Посмотреть сообщение
Возвращает значение по умолчанию для типа
сори что это значит , как это у типа значение по умолчание ? я знаю у типа только размер по умолчанию
и побочный вопрос этого вопрос зачем так извратно в выше приведенной функции возвращать ноль? ведь в не зависимости от типа автор хочет возвращять ноль, с целью выдать первый эллемент массива

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
template<typename T = uint8_t, const uint8_t rx_buffer_size = 16, typename index_t = uint8_t>
class USART {
 
private:
  T rx_buffer[rx_buffer_size] = {0};
  volatile index_t rx_head = 0;
  volatile index_t rx_tail = 0;
  static const index_t rx_mask = rx_buffer_size - 1;
 
public:
  USART(){
    begin();
  }
 
  static inline void begin(uint16_t ubrr = 9600, uint8_t format = 6, bool u2x = 1){
    /* USART Initialization */ 
  }
  
  static inline void rxc_interrupt(){
    // Wait while UDR buffer is empty. RXC0 = 1 has unread data
    while (!(UCSR0A & (1 << RXC0)));
    if (UCSR0A & (1 << UPE0)){
      // If Parity error, read and discard byte
      UDR0;
    } else {
      // Read and send to RX buffer
      rx_buffer_write(UDR0);
    }
  }
 
  inline bool rx_buffer_write(T c){
    // if (!is_full) write to buffer
    if (rx_head - rx_tail < rx_buffer_size){
      rx_buffer[rx_head++ & rx_mask] = c;
      return true;
    }
    else return false;
  }
 
  inline uint8_t rx_buffer_size(){
    return rx_buffer_size;
  }
 
};
main(){
USART serial;}
почему мой корявый класс выдаёт ошибку для последнего метода shadows template parameter что это означает и как исправить ?
и чувствую будет сразу второй вопрос , с помощью данного тимплейта я могу создать экземпляр (как выше) чтоб сразу по дефолту тип и размер использовались из типлейта ? если так неправильно подскажите пожалуйста как сделать правильно - надо чтоб когда ничего не указываешь создавались дефолтные инициализаторы а если указываешь то мои,например
USART Serial //by default unsigned char, size 16
USART<int, 32> Serial //int, size 32
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,538
Записей в блоге: 1
03.05.2021, 10:51
alexbmd, это что, С++ для микроконтроллеров Atmel?
Разве такое бывает? Вроде их только недавно выпустили и только-только компилятор Си для них сделали.
0
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
03.05.2021, 13:43
Цитата Сообщение от alexbmd Посмотреть сообщение
как это у типа значение по умолчание ? я знаю у типа только размер по умолчанию
Не у типа значение по умолчанию, а тип у значения по умолчанию. Временный объект с этим значением можно получить выражением T() или T{}.

Цитата Сообщение от alexbmd Посмотреть сообщение
ведь в не зависимости от типа автор хочет возвращять ноль, с целью выдать первый эллемент массива
Автор вне зависимости от типа хочет возвращать значение по умолчанию.

Цитата Сообщение от alexbmd Посмотреть сообщение
выдаёт ошибку для последнего метода shadows template parameter что это означает и как исправить ?
У вас шаблонный параметр и метод называются одинаково. Исправить - дать разные имена им.

Цитата Сообщение от alexbmd Посмотреть сообщение
сразу по дефолту тип и размер использовались из типлейта ?
Да.

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Разве такое бывает?
Компилятор avr-gcc доступен с 2002 года, C++ там чуть попозже появился, но тоже довольно рано.

Добавлено через 2 минуты

Не по теме:

Цитата Сообщение от alexbmd Посмотреть сообщение
сори что это значит
У меня как вам вопрос, вы по каким-то религиозным причинам книгу почитать не хотите, или что? :)
Там же все это есть.

1
 Аватар для alexbmd
61 / 5 / 1
Регистрация: 03.06.2013
Сообщений: 355
Записей в блоге: 3
03.05.2021, 20:44
Цитата Сообщение от DrOffset Посмотреть сообщение
а тип у значения по умолчанию.
так возвращаемый тип указывается в заголовке метода int func(){return i;}
в пост18 мы видим return int();. ни в одном учебнике я не видел чтоб функция возращала int(). где можно про это прочесть?

Цитата Сообщение от DrOffset Посмотреть сообщение
Автор вне зависимости от типа хочет возвращать значение по умолчанию
которое равно нулую. автор хочет имено вернуть нулевой элемент if(IsEmpty()). мы говорим об одном и томже разными словами. я знал до сих пор что можно вернуть или индекс нулевой или array[0] , кому как больше нравиться но чтобы вместо этого int()

Цитата Сообщение от DrOffset Посмотреть сообщение
дать разные имена им
спасибо . теперь выдаёт missing template arguments before 'serial' :\ у меня же дефолтные прописанны template<typename T = uint8_t, const uint8_t rx_buffer_size = 16, typename index_t = uint8_t> что ему не нравиться ?
Кликните здесь для просмотра всего текста

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
template<typename T = int, const int rx_buffer_size = 16, typename index_t = int>
class USART {
 
private:
  T rx_buffer[rx_buffer_size] = {0};
  volatile index_t rx_head = 0;
  volatile index_t rx_tail = 0;
  static const index_t rx_mask = rx_buffer_size - 1;
 
public:
  USART(){
    begin();
  }
 
  static inline void begin(int ubrr = 9600, int format = 6, bool u2x = 1){
    /* USART Initialization */ 
  }
 
  static inline void rxc_interrupt(){
 
      // Read and send to RX buffer
      rx_buffer_write();
    
  }
 
  inline bool rx_buffer_write(T c){
    // if (!is_full) write to buffer
    if (rx_head - rx_tail < rx_buffer_size){
      rx_buffer[rx_head++ & rx_mask] = c;
      return true;
    }
    else return false;
  }
  
  inline T read(){
    if (rx_tail == rx_head) return 0;
    return rx_buffer[rx_tail++ & rx_mask];
  }
  
  inline T peek(){
    if (rx_tail == rx_head) return 0;
    else return rx_buffer[rx_tail & rx_mask];
  }
  
 
 
  inline void flush(){
    rx_tail = rx_head;
  }
 
  inline uint8_t rx_buf_size(){
    return rx_buffer_size;
  }
 
};
 
    
 
int main()
{
    USART serial;
}



Не по теме:

DrOffset я это из книг и беру :-[ чтото нахожу чтото нет

0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
03.05.2021, 23:11
Цитата Сообщение от alexbmd Посмотреть сообщение
в пост18 мы видим return int();. ни в одном учебнике я не видел чтоб функция возращала int(). где можно про это прочесть?
При чем здесь именно "возвращала"? int() - самостоятельное выражение, никакого отношения к return не имеющее. Если вы рассматривали это именно в контексте return, то неудивительно, что вы такого "не видели".

Вы никогда раньше не видели, что в С++ временный объект типа std::string можно создать выражением std::string()? А если видели, то почему вас удивляет int()?

Цитата Сообщение от alexbmd Посмотреть сообщение
у меня же дефолтные прописанны template<typename T = uint8_t, const uint8_t rx_buffer_size = 16, typename index_t = uint8_t> что ему не нравиться ?
Ну так в языке С++ до определенного времени имя шаблонного класса всегда должно было указываться c треугольными скобками. Даже если все параметры имеют аргументы по умолчанию, все равно - c треугольными скобками, без вариантов. Где ваши треугольные скобки???

C++
1
    USART<> serial;
Это только в С++17 (очевидно в связи с появлением в языке deduction guides) эти требования переписали и пустые треугольные скобки в таких случаях больше не обязательны. В С++17 ваш код скомпилируется. Но вы, судя по предыдущим проблемам, гоняете свой компилятор в режиме С++11.
1
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
03.05.2021, 23:16
Цитата Сообщение от alexbmd Посмотреть сообщение
которое равно нулую. автор хочет имено вернуть нулевой элемент if(IsEmpty()). мы говорим об одном и томже разными словами.
Я говорю о том, что значение по умолчанию - причина, а ноль в частном случае для int - следствие. Например, если DATA_T будет std::string, то DATA_T() приведет к созданию объекта с пустой строкой, а никак не нуля. Так что нет, мы с вами о разном говорим.
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,538
Записей в блоге: 1
03.05.2021, 23:52
Цитата Сообщение от DrOffset Посмотреть сообщение
Компилятор avr-gcc доступен с 2002 года, C++ там чуть попозже появился, но тоже довольно рано.
avr-gcc это не C++
0
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
04.05.2021, 00:07
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
avr-gcc это не C++
avr-gcc - это GCC для avr. Напомню, что GCC - это GNU Compiler Collection, а не GNU C Compiler, как многие думают.
В состав GNU Compiler Collection входит С++.
В связи со спецификой платформы, стандартная библиотека поддерживается сильно ограничено, но, тем не менее, поддержка самого языка С++ в avr-gcc появилась довольно рано.
https://www.nongnu.org/avr-lib... _cplusplus
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
04.05.2021, 04:14
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
avr-gcc это не C++
??? Странное заявление. Это как это?

Вы слышали об Arduino? Arduino IDE? Совсем недавно это было С++11, сейчас это С++14. И все это - avr-gcc.
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,538
Записей в блоге: 1
04.05.2021, 15:08
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Вы слышали об Arduino
Arduino это не чистый AVR, там наворочено всякой фигни поферх некогда хорошей чистой архитектуры
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
04.05.2021, 17:59
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Arduino это не чистый AVR, там наворочено всякой фигни поферх некогда хорошей чистой архитектуры
Чего? Какая разница, что там наворочено или не наворочено? Речь-то идет о компиляторе языка программирования.
0
 Аватар для alexbmd
61 / 5 / 1
Регистрация: 03.06.2013
Сообщений: 355
Записей в блоге: 3
04.05.2021, 22:37
TheCalligrapher, DrOffset, да надо С++11...
а то есть int() это тоже самое что int Value(0); только еще и без самой переменной ... теперь понятно спасибо. вот не встречал такого в учебниках... да и нет наверно такого учебника который всё при всё про все возможные варианты всего языка описывает.. там с каждой версией такого надобовляют...

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Где ваши треугольные скобки???
да точно... походу еще выяснил что объявлять свой экземпляр надо до main...
но теперь ни как не могу понять почему я ему передаю (а пробовал по разному передавать) аргумент на запись , например buffer_write('c');
а получаю ошибку:
cannot call member function 'bool USART<T, rx_buffer_size, index_t>::buffer_write(T) [with T = int; unsigned char rx_buffer_size = 8; index_t = unsigned char]' without object
https://create.arduino.cc/edit... 6f/preview
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
04.05.2021, 22:53
Цитата Сообщение от alexbmd Посмотреть сообщение
о теперь ни как не могу понять почему я ему передаю (а пробовал по разному передавать) аргумент на запись , например buffer_write('c');
а получаю ошибку:
cannot call member function 'bool USART<T, rx_buffer_size, index_t>::buffer_write(T) [with T = int; unsigned char rx_buffer_size = 8; index_t = unsigned char]' without object
"Я ему передаю"? Кому "ему"? Что такое buffer_write('c')???

В языке С++ нестатические методы классов вызываются только через объекты классов при помощи операторов . или ->. Где ваш объект? Для кого вы собрались вызывать ваш buffer_write('c')?

Просто buffer_write('c') можно написать только в другом нестатическом методе класса, что будет подразумевать this->buffer_write('c').
0
What a waste!
 Аватар для gray_fox
1612 / 1304 / 180
Регистрация: 21.04.2012
Сообщений: 2,735
04.05.2021, 22:54
Цитата Сообщение от alexbmd Посмотреть сообщение
но теперь ни как не могу понять почему я ему передаю (а пробовал по разному передавать) аргумент на запись , например buffer_write('c');
а получаю ошибку
Потому что вызов нестатического метода buffer_write, которому (неявно) должен быть передан указатель на объект (this) при вызове, находится в статическом методе; прямо так и написано:
cannot call member function ... without object
0
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
04.05.2021, 23:12
alexbmd, тут.
0
 Аватар для alexbmd
61 / 5 / 1
Регистрация: 03.06.2013
Сообщений: 355
Записей в блоге: 3
05.05.2021, 22:48

Не по теме:

все намного сложнее чем казалось вначале :( + увсех разная терминалогия что тоже не добовляет ясности.. например у когото мы создаем экземпляры классов а у когото объекты



Цитата Сообщение от DrOffset Посмотреть сообщение
Т.е., по-другому, задавая тип Ringbuffer<int, 32>, мы сразу же задаем и маску.
что будет если мы создадим 10 объектов с разными свойствами... при этом в этом классе маска static const size-1
статик говорит что маска у всех общая но как она общая если все объекты разные ?
вот как в вашем примере N3 всё понятно v всегда 10, а тут же маски у всех разные но при это должны быть общими

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
константные статические члены целочисленных и enum типов в С++ можно было инициализировать прямо внутри класса даже в самом древнем
We can't put it in the class definition but it can be initialized outside the class https://www.tutorialspoint.com... embers.htm и таких учебников полно... если можно было всегда внутри класса определять то откуда и почему пошло это веение про "вне класса" ?

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Для кого вы собрались вызывать ваш buffer_write('c')?
ну у нас же это конструктор/тип/описание класса идёт вначале... в этом описании мы указываем какие методы есть у этого класса... потом я создаю объект USART<> serial; так вот для этого сериал я и вызывал buffer_write()... но уже прочитал что статитечские могут вызывать только статические..
хорошо если я исправляю на USART<>::buffer_write(с); то не компилируется а если USART().buffer_write(с); то компилируется. правильно я понимаю что USART() это тоже самое что мы выше обсуждали int() - т.е. пустой объект чтоли? и что тогда получается , когда я создам объект и вызову serial.rxc_interrupt() внутри которого идёт вызов USART().buffer_write(с); ?

а вот такой вопрос, почему вызов нон статика вне класса USART<>::buffer_write(с); не работает. а статика вне класса USART<>::rxc_interrupt(); работает?
0
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
05.05.2021, 23:00
Цитата Сообщение от alexbmd Посмотреть сообщение
что будет если мы создадим 10 объектов с разными свойствами... при этом в этом классе маска static const size-1
статик говорит что маска у всех общая но как она общая если все объекты разные ?
Я писал что это свойство типа. Вы сейчас пишете про объекты.
Цитата Сообщение от DrOffset Посмотреть сообщение
Т.е., по-другому, задавая тип Ringbuffer<int, 32>, мы сразу же задаем и маску.
Если вы сделаете другой тип, с другими свойствами, например Ringbuffer<int, 16>, то и маска у него будет другая.

Добавлено через 1 минуту
Цитата Сообщение от alexbmd Посмотреть сообщение
а вот такой вопрос, почему вызов нон статика вне класса USART<>::buffer_write(с); не работает. а статика вне класса USART<>::rxc_interrupt(); работает?
Да все потому же. Статик - это свойство типа.
0
05.05.2021, 23:00

Не по теме:

Цитата Сообщение от alexbmd Посмотреть сообщение
у когото мы создаем экземпляры классов а у когото объекты
Эти термины обозначают одно и тоже, по крайней мере в данном контексте. Точтно так же часто используют метод вместо функция-член (member function), например

0
05.05.2021, 23:01

Не по теме:

Цитата Сообщение от alexbmd Посмотреть сообщение
у когото мы создаем экземпляры классов а у когото объекты
Это одно и то же.

0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
06.05.2021, 01:58
Цитата Сообщение от alexbmd Посмотреть сообщение
We can't put it in the class definition but it can be initialized outside the class https://www.tutorialspoint.com... embers.htm и таких учебников полно...
Речь, очевидно, идет об общем случае в старой версии языка. В общем случае дело обстояло именно так.

Цитата Сообщение от alexbmd Посмотреть сообщение
если можно было всегда внутри класса определять то откуда и почему пошло это веение про "вне класса" ?
Я же ясно написал:

1. Внутри класса можно указывать инициализатор для константных статических членов, а не "определять" их. Это - разные вещи. Такое объявление статического члена даже с явно указанным инициализатором тем не менее не являлось определением (!). Если вам нужно было еще и определение, то его все равно нужно было делать отдельно за пределами класса.

2. Такая возможность в С++98 существовала только для узкого набор типов - целых и enum. В С++11 ее расширили до static-constexpr-объявлений любого типа, но по-прежнему такое объявление не являлось определением. И только в С++17 появились inline-переменные.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.05.2021, 01:58

Если исходный файл имеет размер больший или равный 10 - выбрать из него только первые 10 элементов
№1 Дан файл целых чисел. Создать на его основе новый файл, размером в 10 элементов. Если исходный файл имеет размер больший или равный 10 -...

Сокет принял данных больше, чем размер буфера
Этот вопрос скорее всего относиться не к php. Но так как другого раздела я не нашел, а сервер и клиент написаны на php, то задам здесь. ...

Сокет принял данных больше, чем размер буфера
Простой клиент посылает 100 байт. Сервер просто принимает соединение и больше ничего не делает (данные не считывает, уходит в таймаут). У...

Php+mysql что будет если запрос SELECT выполнится быстрее чем UPDATE (в разных потоках)
Ребята. Вот объясните мне пожалуйста. Может ли быть такое?: Предположим, что открылось 2 потока одновременно (2 юзера открыли...

Чем больше размер буфера, тем быстрее программа обрабатывает файл?
Друзья, подскажите, на официальном сайте: =Вот тут docs.embarcadero.com= Первый вопрос: В коде: F, FTwo: System.TextFile; // Почему...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru