Article: Q158574
Product(s): Microsoft C Compiler
Version(s): 4.2,5.0,6.0
Operating System(s):
Keyword(s): kbcode kbtemplate kbSTL kbVC420 kbVC500 kbVC600 kbDSupport
Last Modified: 27-MAR-2002
-------------------------------------------------------------------------------
The information in this article applies to:
- The Standard C++ Library, used with:
- Microsoft Visual C++, 32-bit Enterprise Edition, versions 4.2, 5.0, 6.0
- Microsoft Visual C++, 32-bit Professional Edition, versions 4.2, 5.0, 6.0
- Microsoft Visual C++, 32-bit Learning Edition, version 6.0
- Microsoft Visual C++.NET (2002)
-------------------------------------------------------------------------------
SUMMARY
=======
The following sample code illustrates how to use the set::count STL
function in Visual C++.
MORE INFORMATION
================
Required Header
---------------
<set>
Prototype
---------
template<class _K, class _Pr, class _A>
class set {
public:
// Function 1:
size_type count(const _K& _Kv) const;
}
NOTE: The class/parameter names in the prototype may not match the version in the
header file. Some have been modified to improve readability.
Description
-----------
The count function is used to determine the number of elements in the controlled
sequence that have a particular key.
Sample Code
-----------
NOTE: The first line in the sample code section says:
// Compile options needed: /GX
In VC++ .NET, /EHsc is set by default and is equivalent to /GX.
//////////////////////////////////////////////////////////////////////
//
// Compile options needed: -GX
//
// SetCount.cpp:
// Illustrates how to use the count function to determine how
// many elements have a particular key.
//
// Functions:
//
// count Returns the number of elements in the controlled
// sequence that have a particular key.
//
// Written by Derek Jamison
// of Microsoft Technical Support,
// Copyright (c) 1996 Microsoft Corporation. All rights reserved.
//////////////////////////////////////////////////////////////////////
#pragma warning(disable:4786)
// disable warning C4267: possible loss of data,
// okay to ignore
#pragma warning(disable: 4267)
#include <set>
#include <iostream>
#if _MSC_VER > 1020 // if VC++ version is > 4.2
using namespace std; // std c++ libs implemented in std
#endif
typedef set<int,less<int>,allocator<int> > SET_INT;
void truefalse(int x)
{
cout << (x?"True":"False") << endl;
}
void main() {
SET_INT s1;
SET_INT::_Pairib pib;
cout << "s1.insert(5)" << endl;
pib=s1.insert(5);
cout << "Inserted element: ";
truefalse(pib.second); // True
cout << "s1.insert(5)" << endl;
pib=s1.insert(5);
cout << "Inserted element: ";
truefalse(pib.second); // True
cout << "s1.insert(8)" << endl;
s1.insert(8);
cout << "s1.insert(12)" << endl;
s1.insert(12);
cout << "s1.count(5) returned ";
cout << s1.count(5) << endl; // 1
cout << "s1.count(9) returned ";
cout << s1.count(9) << endl; // 0
}
Program Output
--------------
s1.insert(5)
Inserted element: True
s1.insert(5)
Inserted element: False
s1.insert(8)
s1.insert(12)
s1.count(5) returned 1
s1.count(9) returned 0
REFERENCES
==========
Visual C++ Books Online: Visual C++ Books; C/C++; Standard C++ Library Reference
Additional query words: STL STLSample count string
======================================================================
Keywords : kbcode kbtemplate kbSTL kbVC420 kbVC500 kbVC600 kbDSupport
Technology : kbVCsearch kbAudDeveloper kbVCLibrary
Version : :4.2,5.0,6.0
Issue type : kbinfo
=============================================================================