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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.65
VaDiG
29 / 26 / 3
Регистрация: 13.01.2014
Сообщений: 63
#1

Функции str.size() и str.length() - в чем их разница? - C++

25.01.2014, 19:31. Просмотров 3944. Ответов 5
Метки нет (Все метки)

Существует 2 функции для определения размера строки в string
C++
1
str.size()
и
C++
1
str.length()
В чем их разница? Почитал, что вроде бы разницы нет никакой, тогда зачем создавать 2 одинаковые функции?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2014, 19:31     Функции str.size() и str.length() - в чем их разница?
Посмотрите здесь:

Как заставить Strncpy вложить в itog часть символов строки str, если дина str больше, чем кол-во нужных нам символов? - C++
strncpy(itog,str,size+1); cout<<itog; itog вообще не выводится Добавлено через 2 минуты Вот код. #include <iostream> ...

как создать функцию или программу, чтобы str состояла из цифр,а также давалась новой строке str - C++
как создать функцию или программу, чтобы str состояла из цифр,а также давалась новой строке str

Написать и протестировать функцию, которая по заданной строке Str формирует новую строку, состоящую только из цифр, входящих в Str - C++
Помогите ребят!!!!препод задачи дал для аттестации,сделал фактически все,кроме этой: "Написать и протестировать функцию, которая по...

реализация функции c_str() в моем классе Str - C++
Ребята, вот есть у меня в классе Str данные: private: Vec<char> data; char* buffer; В конструкторе я пишу: Str() :buffer(new...

почему в массиве str хранятся значения str2, ведь в функции создается копия...разве нет? - C++
почему в массиве str хранятся значения str2, ведь в функции создается копия...разве нет?..) #include <iostream> using namespace std; ...

Int To Str - C++
Добрый день, товарищи. Подскажите плиз. Есть структура: SSklad, массив SSklad Sklad;, и элемент массива Sklad.god (в структуре описан...

Наследование STR c++ - C++
Построить производный класс Str10 как строку только из цифр. Определить методы: сравнения как чисел, преобразования в число, создание из...

Int to Str - C++
Подскажите, пожалуйста, как число преобразовать в string (не char)

Классы STR с++ - C++
Построить класс Str с обязательными полями: длина строки; указатель char* под указатель на динамически выделяемую под строку память; ...

Аналог str() в С++ - C++
Скажите, пожалуйста, аналог функции str() в С++

The variable 'str' is being used without being initialized - C++
#include "stdafx.h" #include "stdio.h" #include "conio.h" #include "iostream" #include "windows.h" #include "string" #include...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Модератор
Эксперт CЭксперт С++
7156 / 4322 / 630
Регистрация: 29.11.2010
Сообщений: 11,741
25.01.2014, 19:34     Функции str.size() и str.length() - в чем их разница? #2
length() - понятие длины, это предикатива чисто строк.
size() - метод, который определяет длину у контейнеров STL. string делали похожей на контейнеры по интерфейсу для удобства работы.
Разницы в реализации у функций нет
VaDiG
29 / 26 / 3
Регистрация: 13.01.2014
Сообщений: 63
25.01.2014, 19:37  [ТС]     Функции str.size() и str.length() - в чем их разница? #3
MrGluck, все равно не пойму зачем 2 варианта? когда мы используем строки типа string мы можем пользоваться и тем и тем... для вызова той или иной функции ничего дополнительного не требуется кроме
C++
1
#include <string>
MrGluck
Модератор
Эксперт CЭксперт С++
7156 / 4322 / 630
Регистрация: 29.11.2010
Сообщений: 11,741
25.01.2014, 19:48     Функции str.size() и str.length() - в чем их разница? #4
потому что для кого то размер строки == её длина
для кого то привычнее думать "шаблонами (в значении штампами)" STL.
Croessmah
Модератор
Эксперт CЭксперт С++
13045 / 7308 / 814
Регистрация: 27.09.2012
Сообщений: 18,041
Записей в блоге: 3
Завершенные тесты: 1
25.01.2014, 20:29     Функции str.size() и str.length() - в чем их разница? #5
Цитата Сообщение от VaDiG Посмотреть сообщение
все равно не пойму зачем 2 варианта?
size более универсально, length точнее отражает сущность операции:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <vector>
#include <string>
#include <iostream>
     
template < typename Type >
typename Type::size_type foo ( const Type & obj ) {
    return obj.size () ;
    //return obj.length() ;
}
     
int main () {
    std::string str = "123" ;
    std::vector<int> vec { 1 , 2 , 3 , 4 } ;
    std::cout << foo ( str ) << std::endl ;
    std::cout << foo ( vec ) << std::endl ;
}
Tulosba
25.01.2014, 21:05     Функции str.size() и str.length() - в чем их разница?
  #6

Не по теме:

Цитата Сообщение от MrGluck Посмотреть сообщение
предикатива
прерогатива?

Yandex
Объявления
25.01.2014, 21:05     Функции str.size() и str.length() - в чем их разница?
Ответ Создать тему
Опции темы

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