C++에 List<>
과 같은 것이 있습니까? 문자열 배열을 저장하기 위해 List<string>
과 같은 것입니다.C++에 List <string>과 같은 것이 있나요?
답변
대답은
std::vector<std::string>
std::list
링크 된리스트, C#의 클래스 List<T>
좋아하지 배열 인 사실이다.
예.
#include <iostream> // iostream is for cout and endl; not necessary just to use vector or string
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> list;
list.push_back("foo");
list.push_back("bar");
for(vector<string>::const_iterator it = list.begin(); it != list.end(); ++it)
cout << *it << endl;
return 0;
}
std::list
클래스는 실제로 C#의 LinkedList<T>
클래스와 동일하다.
.NET의 목록은 연결된 목록이 아닙니다. 당신이 찾고있는 데이터 구조는 resizeable 배열입니다.
std::vector<std::string> list;
C++의 std::vector
은 C#의 List
에 해당하는 템플릿 클래스입니다. 또한 std::list
템플릿은 C# SingleLinkedList
에 해당합니다.
C++에서 vector
과 list
항목의 호출 복사 생성자를 준비해야합니다. 따라서 각 문자열에 대해 사본이 만들어집니다.
메모리가 제한되어 있거나 동일한 문자열을 여러 모음에 저장하려는 경우 대신 std::vector<std::string*>
또는 std::vector<char*>
을 사용하는 것이 좋습니다.
'std :: list'는 단독 링크리스트가 아닌 이중 링크리스트입니다. – Xeo
물론 그렇지만 BCL에는 이중 링크 목록이 없으며 STL에는 단일 연결 목록이 없습니다. 내가 말한 의미는 기존 클래스가 삽입/삭제 시간 보장 측면에서 유사하다는 것입니다. 수정 해줘서 고마워. –
본질적으로 예외 안전이 아니므로 포인터 컨테이너를 사용하는 것은 좋지 않습니다. 대부분의 경우, 그러한 일은 필요하지 않으며, 그러한 일이 필요한 곳에서는 거의 항상 더 나은 해결책이 있습니다. –
- 1. List <String, Int32, Int32> (다차원 일반 목록)과 같은 것이 있습니까
- 2. WPF : Canvas.IsVisible (point)과 같은 것이 있습니까?
- 3. Perl의 Win32 :: FileNotify와 같은 것이 있나요?
- 4. Android와 마찬가지로 Blackberry에 SharedPreferences와 같은 것이 있나요?
- 5. jQuery.toggle (boolean)과 같은 것이 있습니까?
- 6. C#에서 파이썬의 getattr()과 같은 것이 있습니까?
- 7. ASP.NET MVC 용 PHP 함수 nl2br()과 같은 것이 있습니까?
- 8. 크롬에 대한 "Tamper Data firefox plugin"과 같은 것이 있습니까?
- 9. 자바 애플릿과 같은 ASP.Net에서이 있나요
- 10. .NET의 반사경과 같은 개념이 있나요?
- 11. STL 다중 맵은 .NET 사전 <key, List <values>>과 어떻게 다른가요?
- 12. 은 C의 문자열 ++ C에 새로운 ++과 파이썬 배경에서 오는 사람으로
- 13. NHibernate에서 타입 <Type>과 같은 클래스를 매핑하는 방법은 무엇입니까?
- 14. List 또는 Collection을 사용하는 것이 더 좋습니까?
- 15. <span>과 같은 사용을 본 적이 있습니까?
- 16. C에 하스켈/ML 같은 컴파일러가 있습니까?
- 17. List <> OrderBy IComparer?
- 18. Gridview 및 List <>
- 19. IEnumerable과 같은 인터페이스 또는 List <>와 같은 구체적인 클래스를 사용해야합니까?
- 20. csh ksh와 같은 명령 목록 ({list; }
- 21. <button>을 <a>과 같은 스타일로 지정할 수 있습니까?
- 22. Silverlight "RootVisual"과 같은 WPF
- 23. Java : popen()과 같은 함수입니까?
- 24. 자바 스크립트와 같은 데이터 구조가 있나요?
- 25. python과 같은 자바 스크립트 압축 풀기가 있나요?
- 26. PHP의 print_r()과 같은 펄은 무엇입니까?
- 27. 내가이 (간체 예)과 같은 데이터 모델을
- 28. List <>를 원소로 채우는 방법
- 29. C# 튜플을 사용하여 List <> 정렬?
- 30. List <Map <String, Object >> 같은 목록을 반복하는 방법
"제네릭"은 일반적으로 C++에서 "템플릿"이라고합니다. 표준 템플릿 라이브러리는 필요하다면 목록 이외에도 많은 컨테이너를 제공합니다. –
@ Jeff : 아니요,'std :: list'. – Nawaz
'std :: list'이 있습니다 만,'std :: vector'를 사용하거나 정적'std :: array' 인 경우 –