stack—C++标准库

#include<iostream>
#include<stack>
using namespace std;

int main() {
	stack<int> s;
	s.push(1);
	s.push(2);
	s.push(3);
	s.push(4);
	cout << "移除栈顶元素";
	s.pop();
	cout << endl;
	cout << "栈顶元素:" << s.top() << endl;
	cout << "栈中元素数目:" << s.size() << endl;
	cout << "栈是否为空:" << s.empty() << endl;
	return 0;
}

测试结果:

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
介绍说明 C标准库源代码,能提高对C的理解,不错的哦 下载文件列表 Pack : clibsource.rar C 标准库源代码\ABORT.C C标准库源代码\ABS.C C标准库源代码\ACCESS.C C标准库源代码\ADJUSTFD.C C标准库源代码\ALGRITHM C标准库源代码\ASCTIME.C C标准库源代码\ASSERT.C C标准库源代码\ASSERT.H C标准库源代码\ATOF.C C标准库源代码\ATONEXIT.C C 标准库源代码\ATOX.C C标准库源代码\AWINT.H C标准库源代码\AW_COM.C C标准库源代码\A_CMP.C C 标准库源代码\A_ENV.C C标准库源代码\A_LOC.C C标准库源代码\A_MAP.C C标准库源代码\A_STR.C C 标准库源代码\BINMODE.C C标准库源代码\BITSET C标准库源代码\BLDNT.CMD C标准库源代码\BLDWIN95.BAT C标准库源代码\BSEARCH.C C标准库源代码\CALLOC.C C标准库源代码\CASSERT C标准库源代码\CCTYPE C标准库源代码\CENVARG.C C标准库源代码\CERRINIT.CPP C 标准库源代码\CERRNO C标准库源代码\CFINFO.C C标准库源代码\CFLOAT C标准库源代码\CGETS.C C 标准库源代码\CHARMAX.C C标准库源代码\CHDIR.C C标准库源代码\CHMOD.C C标准库源代码\CHSIZE.C C标准库源代码\CININIT.CPP C标准库源代码\CINITEXE.C C标准库源代码\CISO646 C标准库源代码\CLEARERR.C C标准库源代码\CLIMITS C标准库源代码\CLOCALE C 标准库源代码\CLOCK.C C标准库源代码\CLOGINIT.CPP C标准库源代码\CLOSE.C C标准库源代码\CLOSEALL.C C标准库源代码\CMATH C标准库源代码\CMISCDAT.C C标准库源代码\CMSGS.H C 标准库源代码\COMMIT.C C标准库源代码\COMMODE.C C标准库源代码\COMPLEX C标准库源代码\CONIO.H C标准库源代码\CPRINTF.C C标准库源代码\CPUTS.C C标准库源代码\CREAT.C C 标准库源代码\CRT0.C C标准库源代码\CRT0DAT.C C标准库源代码\CRT0FP.C C标准库源代码\CRT0INIT.C C标准库源代码\CRT0MSG.C C标准库源代码\CRTDBG.H C标准库源代码\CRTDLL.C C标准库源代码\CRTEXE.C C标准库源代码\CRTEXEW.C C标准库源代码\CRTLIB.C C 标准库源代码\CRTMBOX.C C标准库源代码\CRUNTIME.H C标准库源代码\CRUNTIME.INC C标准库源代码\CSCANF.C C标准库源代码\CSETJMP C标准库源代码\CSIGNAL C标准库源代码\CSTDARG C 标准库源代码\CSTDDEF C标准库源代码\CSTDIO C标准库源代码\CSTDLIB C标准库源代码\CSTRING C 标准库源代码\CTIME C标准库源代码\CTIME.C C标准库源代码\CTIME.H C标准库源代码\CTYPE.C C 标准库源代码\CTYPE.H C标准库源代码\CVT.H C标准库源代码\CWCHAR C标准库源代码\CWCTYPE C 标准库源代码\DAYS.C C标准库源代码\DBGDEL.CPP C标准库源代码\DBGHEAP.C C标准库源代码\DBGHOOK.C C标准库源代码\DBGINT.H C标准库源代码\DBGNEW.CPP C标准库源代码\DBGRPT.C C标准库源代码\DEFSECTS.INC C标准库源代码\DELETE.CPP C标准库源代码\DELOP.CPP C标准库源代码\DELOP_S.CPP C标准库源代码\DEQUE C标准库源代码\DIFFTIME.C C标准库源代码\DIRECT.H C标准库源代码\DIV.C C标准库源代码\DLLARGV.C C 标准库源代码\DLLCRT0.C C标准库源代码\DLLDEF.CPP C标准库源代码\DLLMAIN.C C标准库源代码\DLL_ARGV.C C标准库源代码\DOS.H C标准库源代码\DOSMAP.C C标准库源代码\DOSPAWN.C C 标准库源代码\DOSTYPES.H C标准库源代码\DRIVE.C C标准库源代码\DRIVEMAP.C C标准库源代码\DRIVFREE.C C标准库源代码\DTOXTIME.C C标准库源代码\DUP.C C标准库源代码\DUP2.C C 标准库源代码\EOF.C C标准库源代码\ERRMODE.C C标准库源代码\ERRMSG.H C标准库源代码\ERRNO.H C 标准库源代码\EXCEPT.INC C标准库源代码\EXCPT.H C标准库源代码\EXECL.C C标准库源代码\EXECLE.C C标准库源代码\EXECLP.C C标准库源代码\EXECLPE.C C标准库源代码\EXECV.C C 标准库源代码\EXECVE.C C标准库源代码\EXECVP.C C标准库源代码\EXECVPE.C C标准库源代码\EXPAND.C C标准库源代码\EXSUP.INC C标准库源代码\FCLOSE.C C标准库源代码\FCNTL.H C 标准库源代码\FCTIONAL C标准库源代码\FCVT.C C标准库源代码\FDOPEN.C C标准库源代码\FEOFERR.C C标准库源代码\FFLUSH.C C标准库源代码\FGETC.C C标准库源代码\FGETCHAR.C C 标准库源代码\FGETPOS.C C标准库源代码\FGETS.C C标准库源代码\FGETWC.C C标准库源代码\FGETWCHR.C C标准库源代码\FGETWS.C C标准库源代码\FILE2.H C标准库源代码\FILEBUF.CPP C标准库源代码\FILEBUF1.CPP C标准库源代码\FILEINFO.C C标准库源代码\FILENO.C C标准库源代码\FINDADDR.C C标准库源代码\FINDFI64.C C标准库源代码\FINDFILE.C C标准库源代码\FIOPEN.CPP C标准库源代码\FLENGTH.C C标准库源代码\FLENI64.C C标准库源代码\FLOAT.H C标准库源代码\FLTINTRN.H C标准库源代码\FOPEN.C C 标准库源代码\FP10.C C标准库源代码\FPIEEE.H C标准库源代码\FPRINTF.C C标准库源代码\FPUTC.C C标准库源代码\FPUTCHAR.C C标准库源代码\FPUTS.C C标准库源代码\FPUTWC.C C 标准库源代码\FPUTWCHR.C C标准库源代码\FPUTWS.C C标准库源代码\FREAD.C C标准库源代码\FREE.C C标准库源代码\FREOPEN.C C标准库源代码\FSCANF.C C标准库源代码\FSEEK.C C 标准库源代码\FSEEKI64.C C标准库源代码\FSETPOS.C C标准库源代码\FSTAT.C C标准库源代码\FSTATI64.C C标准库源代码\FSTREAM C标准库源代码\FSTREAM.CPP C标准库源代码\FSTREAM.H C标准库源代码\FTELL.C C标准库源代码\FTELLI64.C C标准库源代码\FTIME.C C 标准库源代码\FULLPATH.C C标准库源代码\FWPRINTF.C C标准库源代码\FWRITE.C C标准库源代码\FWSCANF.C C标准库源代码\GCVT.C C标准库源代码\GETCH.C C标准库源代码\GETCWD.C C 标准库源代码\GETENV.C C标准库源代码\GETPATH.C C标准库源代码\GETPID.C C标准库源代码\GETPROC.C C标准库源代码\GETQLOC.C C标准库源代码\GETS.C C标准库源代码\GETW.C C 标准库源代码\GETWS.C C标准库源代码\GMTIME.C C标准库源代码\HANDLER.CPP C标准库源代码\HEAP.H C标准库源代码\HEAPADD.C C标准库源代码\HEAPCHK.C C标准库源代码\HEAPDUMP.C C 标准库源代码\HEAPGROW.C C标准库源代码\HEAPHOOK.C C标准库源代码\HEAPINIT.C C标准库源代码\HEAPMIN.C C标准库源代码\HEAPPRM.C C标准库源代码\HEAPSRCH.C C标准库源代码\HEAPUSED.C C标准库源代码\HEAPWALK.C C标准库源代码\HPABORT.C C标准库源代码\IFSTREAM.CPP C标准库源代码\INITCOLL.C C标准库源代码\INITCON.C C标准库源代码\INITCTYP.C C标准库源代码\INITHELP.C C标准库源代码\INITMON.C C标准库源代码\INITNUM.C C标准库源代码\INITTIME.C C标准库源代码\INPUT.C C标准库源代码\INTERNAL.H C标准库源代码\IO.H C标准库源代码\IOINIT.C C标准库源代码\IOMANIP C 标准库源代码\IOMANIP.CPP C标准库源代码\IOMANIP.H C标准库源代码\IOS C标准库源代码\IOS.CPP C标准库源代码\IOS.H C标准库源代码\IOSFWD C标准库源代码\IOSTREAM C标准库源代码\IOSTREAM.CPP C标准库源代码\IOSTREAM.H C标准库源代码\IOSTRINI.CPP C标准库源代码\IOS_DLL.C C标准库源代码\ISATTY.C C标准库源代码\ISCTYPE.C C标准库源代码\ISMBALNM.C C标准库源代码\ISMBALPH.C C标准库源代码\ISMBBYTE.C C标准库源代码\ISMBDGT.C C标准库源代码\ISMBGRPH.C C标准库源代码\ISMBKNJ.C C标准库源代码\ISMBLGL.C C标准库源代码\ISMBLWR.C C标准库源代码\ISMBPRN.C C标准库源代码\ISMBPUNC.C C标准库源代码\ISMBSLE.C C标准库源代码\ISMBSPC.C C标准库源代码\ISMBSTR.C C标准库源代码\ISMBUPR.C C标准库源代码\ISO646.H C标准库源代码\ISTRCHAR.CPP C标准库源代码\ISTRDBL.CPP C标准库源代码\ISTREAM C标准库源代码\ISTREAM.CPP C标准库源代码\ISTREAM.H C标准库源代码\ISTREAM1.CPP C标准库源代码\ISTRFLT.CPP C标准库源代码\ISTRGDBL.CPP C标准库源代码\ISTRGET.CPP C标准库源代码\ISTRGETL.CPP C标准库源代码\ISTRGINT.CPP C标准库源代码\ISTRINT.CPP C标准库源代码\ISTRLDBL.CPP C标准库源代码\ISTRLONG.CPP C标准库源代码\ISTRSHRT.CPP C标准库源代码\ISTRUINT.CPP C标准库源代码\ISTRULNG.CPP C标准库源代码\ISTRUSHT.CPP C标准库源代码\ISWCTYPE.C C标准库源代码\ITERATOR C标准库源代码\LABS.C C标准库源代码\LCNVINIT.C C 标准库源代码\LCONV.C C标准库源代码\LDIV.C C标准库源代码\LFIND.C C标准库源代码\LIMITS C 标准库源代码\LIMITS.H C标准库源代码\LIST C标准库源代码\LOADDLL.C C标准库源代码\LOCALE C 标准库源代码\LOCALE.CPP C标准库源代码\LOCALE.H C标准库源代码\LOCALE0.CPP C标准库源代码\LOCALTIM.C C标准库源代码\LOCKING.C C标准库源代码\LSEARCH.C C标准库源代码\LSEEK.C C标准库源代码\LSEEKI64.C C标准库源代码\MAKEFILE C标准库源代码\MAKEFILE.INC C标准库源代码\MAKEFILE.SUB C标准库源代码\MAKEPATH.C C标准库源代码\MALLOC.C C标准库源代码\MALLOC.H C标准库源代码\MAP C标准库源代码\MATH.H C标准库源代码\MBBTYPE.C C标准库源代码\MBCCPY.C C标准库源代码\MBCLEN.C C标准库源代码\MBCLEVEL.C C标准库源代码\MBCTYPE.C C标准库源代码\MBCTYPE.H C标准库源代码\MBDATA.H C标准库源代码\MBLEN.C C标准库源代码\MBSBTYPE.C C标准库源代码\MBSCAT.C C 标准库源代码\MBSCHR.C C标准库源代码\MBSCMP.C C标准库源代码\MBSCOLL.C C标准库源代码\MBSCSPN.C C标准库源代码\MBSDEC.C C标准库源代码\MBSDUP.C C标准库源代码\MBSICMP.C C 标准库源代码\MBSICOLL.C C标准库源代码\MBSINC.C C标准库源代码\MBSLEN.C C标准库源代码\MBSLWR.C C标准库源代码\MBSNBCAT.C C标准库源代码\MBSNBCMP.C C标准库源代码\MBSNBCNT.C C标准库源代码\MBSNBCOL.C C标准库源代码\MBSNBCPY.C C标准库源代码\MBSNBICM.C C标准库源代码\MBSNBICO.C C标准库源代码\MBSNBSET.C C标准库源代码\MBSNCAT.C C标准库源代码\MBSNCCNT.C C标准库源代码\MBSNCMP.C C标准库源代码\MBSNCOLL.C C标准库源代码\MBSNCPY.C C标准库源代码\MBSNEXTC.C C标准库源代码\MBSNICMP.C C标准库源代码\MBSNICOL.C C标准库源代码\MBSNINC.C C标准库源代码\MBSNSET.C C标准库源代码\MBSPBRK.C C标准库源代码\MBSRCHR.C C标准库源代码\MBSREV.C C标准库源代码\MBSSET.C C标准库源代码\MBSSPN.C C标准库源代码\MBSSPNP.C C 标准库源代码\MBSSTR.C C标准库源代码\MBSTOK.C C标准库源代码\MBSTOWCS.C C标准库源代码\MBSTRING.H C标准库源代码\MBSUPR.C C标准库源代码\MBTOHIRA.C C标准库源代码\MBTOKATA.C C标准库源代码\MBTOLWR.C C标准库源代码\MBTOUPR.C C标准库源代码\MBTOWC.C C标准库源代码\MBTOWENV.C C标准库源代码\MEMCCPY.C C标准库源代码\MEMCHR.C C标准库源代码\MEMCMP.C C标准库源代码\MEMCPY.C C标准库源代码\MEMICMP.C C 标准库源代码\MEMMOVE.C C标准库源代码\MEMORY C标准库源代码\MEMORY.H C标准库源代码\MEMSET.C C标准库源代码\MERR.C C标准库源代码\MINMAX.H C标准库源代码\MKDIR.C C 标准库源代码\MKTEMP.C C标准库源代码\MKTIME.C C标准库源代码\MLOCK.C C标准库源代码\MM.INC C 标准库源代码\MSDOS.H C标准库源代码\MSIZE.C C标准库源代码\MTDLL.H C标准库源代码\MTERRNO.C C标准库源代码\MTLOCK.C C标准库源代码\NCOMMODE.C C标准库源代码\NEW C 标准库源代码\NEW.CPP C标准库源代码\NEW.H C标准库源代码\NEWMODE.C C标准库源代码\NEWOP.CPP C标准库源代码\NEWOP2.CPP C标准库源代码\NEWOP2_S.CPP C标准库源代码\NEWOP_S.CPP C标准库源代码\NEW_MODE.CPP C标准库源代码\NLSDATA1.C C标准库源代码\NLSDATA2.C C标准库源代码\NLSDATA3.C C标准库源代码\NLSINT.H C标准库源代码\NMKTOBAT.C C标准库源代码\NOMEMORY.CPP C标准库源代码\NUMERIC C标准库源代码\OFSTREAM.CPP C标准库源代码\ONEXIT.C C标准库源代码\OPEN.C C标准库源代码\OSCALLS.H C标准库源代码\OSFINFO.C C标准库源代码\OSTRCHAR.CPP C标准库源代码\OSTRDBL.CPP C标准库源代码\OSTREAM C标准库源代码\OSTREAM.CPP C标准库源代码\OSTREAM.H C标准库源代码\OSTREAM1.CPP C标准库源代码\OSTRINT.CPP C标准库源代码\OSTRLDBL.CPP C标准库源代码\OSTRLONG.CPP C标准库源代码\OSTRPTR.CPP C标准库源代码\OSTRPUT.CPP C标准库源代码\OSTRSHRT.CPP C标准库源代码\OSTRUINT.CPP C标准库源代码\OSTRULNG.CPP C标准库源代码\OSTRUSHT.CPP C标准库源代码\OUTPUT.C C标准库源代码\PERROR.C C标准库源代码\PIPE.C C标准库源代码\PLSTRING.H C标准库源代码\POPEN.C C 标准库源代码\PRINTF.C C标准库源代码\PROCESS.H C标准库源代码\PUREVIRT.C C标准库源代码\PUTCH.C C标准库源代码\PUTENV.C C标准库源代码\PUTS.C C标准库源代码\PUTW.C C标准库源代码\PUTWS.C C标准库源代码\QSORT.C C标准库源代码\QUEUE C标准库源代码\RAND.C C标准库源代码\READ.C C标准库源代码\REALLOC.C C标准库源代码\RENAME.C C标准库源代码\REWIND.C C标准库源代码\RMDIR.C C标准库源代码\RMTMP.C C标准库源代码\ROTL.C C标准库源代码\ROTR.C C标准库源代码\RTERR.H C标准库源代码\SAMPLD_I.DEF C标准库源代码\SAMPLD_P.DEF C标准库源代码\SAMPLE_I.DEF C标准库源代码\SAMPLE_I.RC C标准库源代码\SAMPLE_P.DEF C标准库源代码\SAMPLE_P.RC C标准库源代码\SBHEAP.C C标准库源代码\SCANF.C C标准库源代码\SEARCH.H C标准库源代码\SEARCHEN.C C标准库源代码\SET C标准库源代码\SETARGV.C C标准库源代码\SETBUF.C C标准库源代码\SETENV.C C标准库源代码\SETERRM.C C标准库源代码\SETJMP.H C标准库源代码\SETJMPEX.H C标准库源代码\SETLOCAL.C C标准库源代码\SETLOCAL.H C标准库源代码\SETMAXF.C C标准库源代码\SETMODE.C C标准库源代码\SETNEWH.CPP C标准库源代码\SETVBUF.C C标准库源代码\SHARE.H C标准库源代码\SIGNAL.H C标准库源代码\SLBEEP.C C标准库源代码\SNPRINTF.C C 标准库源代码\SNWPRINT.C C标准库源代码\SPAWNL.C C标准库源代码\SPAWNLE.C C标准库源代码\SPAWNLP.C C标准库源代码\SPAWNLPE.C C标准库源代码\SPAWNV.C C标准库源代码\SPAWNVE.C C标准库源代码\SPAWNVP.C C标准库源代码\SPAWNVPE.C C标准库源代码\SPLITPAT.C C标准库源代码\SPRINTF.C C标准库源代码\SSCANF.C C标准库源代码\SSTREAM C 标准库源代码\STACK C标准库源代码\STAT.C C标准库源代码\STATI64.C C标准库源代码\STDARG.H C 标准库源代码\STDARGV.C C标准库源代码\STDDEF.H C标准库源代码\STDENVP.C C标准库源代码\STDEXCPT.H C标准库源代码\STDIO.H C标准库源代码\STDIOSTR.CPP C标准库源代码\STDIOSTR.H C标准库源代码\STDLIB.H C标准库源代码\STDXCEPT C标准库源代码\STRCAT.C C 标准库源代码\STRCHR.C C标准库源代码\STRCMP.C C标准库源代码\STRCOLL.C C标准库源代码\STRCSPN.C C标准库源代码\STRDATE.C C标准库源代码\STRDUP.C C标准库源代码\STREAM.C C 标准库源代码\STREAMB.CPP C标准库源代码\STREAMB.H C标准库源代码\STREAMB1.CPP C标准库源代码\STREAMBF C标准库源代码\STRERROR.C C标准库源代码\STRFTIME.C C标准库源代码\STRICMP.C C标准库源代码\STRICOLL.C C标准库源代码\STRING C标准库源代码\STRING.CPP C标准库源代码\STRING.H C标准库源代码\STRLEN.C C标准库源代码\STRLWR.C C 标准库源代码\STRMBDBP.CPP C标准库源代码\STRNCAT.C C标准库源代码\STRNCMP.C C标准库源代码\STRNCOLL.C C标准库源代码\STRNCPY.C C标准库源代码\STRNICMP.C C标准库源代码\STRNICOL.C C标准库源代码\STRNSET.C C标准库源代码\STRPBRK.C C标准库源代码\STRRCHR.C C标准库源代码\STRREV.C C标准库源代码\STRSET.C C标准库源代码\STRSPN.C C 标准库源代码\STRSTR.C C标准库源代码\STRSTREA.CPP C标准库源代码\STRSTREA.H C标准库源代码\STRSTREM C标准库源代码\STRTIME.C C标准库源代码\STRTOD.C C标准库源代码\STRTOK.C C 标准库源代码\STRTOL.C C标准库源代码\STRTOQ.C C标准库源代码\STRUPR.C C标准库源代码\STRXFRM.C C标准库源代码\STUBS.C C标准库源代码\SWAB.C C标准库源代码\SWPRINTF.C C 标准库源代码\SWSCANF.C C标准库源代码\SYSERR.C C标准库源代码\SYSERR.H C标准库源代码\SYSTEM.C C标准库源代码\SYSTIME.C C标准库源代码\TCHAR.H C标准库源代码\TELL.C C 标准库源代码\TELLI64.C C标准库源代码\TEMPNAM.C C标准库源代码\THREAD.C C标准库源代码\THREADEX.C C标准库源代码\TIDPRINT.C C标准库源代码\TIDTABLE.C C标准库源代码\TIME.C C标准库源代码\TIME.H C标准库源代码\TIMEB.INC C标准库源代码\TIMESET.C C 标准库源代码\TI_INST.CPP C标准库源代码\TMPFILE.C C标准库源代码\TOJISJMS.C C标准库源代码\TOLOWER.C C标准库源代码\TOMBBMBC.C C标准库源代码\TOUPPER.C C标准库源代码\TOWLOWER.C C标准库源代码\TOWUPPER.C C标准库源代码\TRNSCTRL.H C标准库源代码\TXTMODE.C C标准库源代码\TYPEINFO C标准库源代码\TYPEINFO.H C标准库源代码\TZSET.C C 标准库源代码\UMASK.C C标准库源代码\UNCAUGHT.CPP C标准库源代码\UNGETC.C C标准库源代码\UNGETWC.C C标准库源代码\UNLINK.C C标准库源代码\USEOLDIO.H C标准库源代码\USE_ANSI.H C标准库源代码\UTILITY C标准库源代码\UTIME.C C标准库源代码\V2TOV3.H C 标准库源代码\VALARRAY C标准库源代码\VARARGS.H C标准库源代码\VECTOR C标准库源代码\VFPRINTF.C C标准库源代码\VFWPRINT.C C标准库源代码\VPRINTF.C C标准库源代码\VSNPRINT.C C标准库源代码\VSNWPRNT.C C标准库源代码\VSPRINTF.C C标准库源代码\VSWPRINT.C C标准库源代码\VWPRINTF.C C标准库源代码\WACCESS.C C标准库源代码\WAIT.C C标准库源代码\WASCTIME.C C标准库源代码\WCENVARG.C C标准库源代码\WCHAR.H C 标准库源代码\WCHDIR.C C标准库源代码\WCHMOD.C C标准库源代码\WCREAT.C C标准库源代码\WCRT0.C C标准库源代码\WCRTEXE.C C标准库源代码\WCRTEXEW.C C标准库源代码\WCSCAT.C C 标准库源代码\WCSCHR.C C标准库源代码\WCSCMP.C C标准库源代码\WCSCOLL.C C标准库源代码\WCSCSPN.C C标准库源代码\WCSDUP.C C标准库源代码\WCSFTIME.C C标准库源代码\WCSICMP.C C标准库源代码\WCSICOLL.C C标准库源代码\WCSLEN.C C标准库源代码\WCSLWR.C C标准库源代码\WCSNCAT.C C标准库源代码\WCSNCMP.C C标准库源代码\WCSNCOLL.C C标准库源代码\WCSNCPY.C C标准库源代码\WCSNICMP.C C标准库源代码\WCSNICOL.C C标准库源代码\WCSNSET.C C标准库源代码\WCSPBRK.C C标准库源代码\WCSRCHR.C C标准库源代码\WCSREV.C C标准库源代码\WCSSET.C C标准库源代码\WCSSPN.C C 标准库源代码\WCSSTR.C C标准库源代码\WCSTOD.C C标准库源代码\WCSTOK.C C标准库源代码\WCSTOL.C C标准库源代码\WCSTOMBS.C C标准库源代码\WCSUPR.C C标准库源代码\WCSXFRM.C C标准库源代码\WCTIME.C C标准库源代码\WCTOMB.C C标准库源代码\WCTRANS.C C 标准库源代码\WCTYPE.C C标准库源代码\WCTYPE.H C标准库源代码\WDLLARGV.C C标准库源代码\WDOSPAWN.C C标准库源代码\WEXECL.C C标准库源代码\WEXECLE.C C标准库源代码\WEXECLP.C C标准库源代码\WEXECLPE.C C标准库源代码\WEXECV.C C标准库源代码\WEXECVE.C C标准库源代码\WEXECVP.C C标准库源代码\WEXECVPE.C C标准库源代码\WFDOPEN.C C标准库源代码\WFINDFIL.C C标准库源代码\WFNDFI64.C C标准库源代码\WFOPEN.C C标准库源代码\WFREOPEN.C C标准库源代码\WFULLPAT.C C标准库源代码\WGETCWD.C C标准库源代码\WGETENV.C C标准库源代码\WGETPATH.C C标准库源代码\WILD.C C 标准库源代码\WILDCARD.C C标准库源代码\WIN32S.H C标准库源代码\WINCMDLN.C C标准库源代码\WINCRT0.C C标准库源代码\WINHEAP.H C标准库源代码\WINPUT.C C标准库源代码\WINSIG.C C 标准库源代码\WINXFLTR.C C标准库源代码\WIOSTREA.CPP C标准库源代码\WLOCALE.CPP C标准库源代码\WMAKEPAT.C C标准库源代码\WMKDIR.C C标准库源代码\WMKTEMP.C C标准库源代码\WOPEN.C C标准库源代码\WOUTPUT.C C标准库源代码\WPERROR.C C标准库源代码\WPOPEN.C C 标准库源代码\WPRINTF.C C标准库源代码\WPUTENV.C C标准库源代码\WRENAME.C C标准库源代码\WRITE.C C标准库源代码\WRMDIR.C C标准库源代码\WRT2ERR.C C标准库源代码\WSCANF.C C 标准库源代码\WSEARCHE.C C标准库源代码\WSETARGV.C C标准库源代码\WSETENV.C C标准库源代码\WSETLOCA.C C标准库源代码\WSPAWNL.C C标准库源代码\WSPAWNLE.C C标准库源代码\WSPAWNLP.C C标准库源代码\WSPAWNV.C C标准库源代码\WSPAWNVE.C C标准库源代码\WSPAWNVP.C C标准库源代码\WSPLITPA.C C标准库源代码\WSPWNLPE.C C标准库源代码\WSPWNVPE.C C标准库源代码\WSTAT.C C标准库源代码\WSTATI64.C C标准库源代码\WSTDARGV.C C标准库源代码\WSTDENVP.C C标准库源代码\WSTRDATE.C C标准库源代码\WSTRTIME.C C标准库源代码\WSYSTEM.C C标准库源代码\WTEMPNAM.C C标准库源代码\WTMPFILE.C C标准库源代码\WTOMBENV.C C标准库源代码\WTOX.C C标准库源代码\WUNLINK.C C标准库源代码\WUTIME.C C标准库源代码\WWILD.C C标准库源代码\WWINCRT0.C C 标准库源代码\WWNCMDLN.C C标准库源代码\W_CMP.C C标准库源代码\W_ENV.C C标准库源代码\W_LOC.C C标准库源代码\W_MAP.C C标准库源代码\W_STR.C C标准库源代码\XCEPTION C 标准库源代码\XCOMPLEX C标准库源代码\XCOSH.C C标准库源代码\XDNORM.C C标准库源代码\XDSCALE.C C标准库源代码\XDTEST.C C标准库源代码\XEXP.C C标准库源代码\XFCOSH.C C 标准库源代码\XFDNORM.C C标准库源代码\XFDSCALE.C C标准库源代码\XFDTEST.C C标准库源代码\XFEXP.C C标准库源代码\XFSINH.C C标准库源代码\XFVALUES.C C标准库源代码\XIOSBASE C 标准库源代码\XLCOSH.C C标准库源代码\XLDNORM.C C标准库源代码\XLDSCALE.C C标准库源代码\XLDTEST.C C标准库源代码\XLEXP.C C标准库源代码\XLOCALE C标准库源代码\XLOCALE.CPP C 标准库源代码\XLOCINFO C标准库源代码\XLOCINFO.H C标准库源代码\XLOCK.CPP C标准库源代码\XLOCMON C标准库源代码\XLOCNUM C标准库源代码\XLOCTIME C标准库源代码\XLPOLY.C C 标准库源代码\XLSINH.C C标准库源代码\XLVALUES.C C标准库源代码\XMATH.H C标准库源代码\XMBTOWC.C C标准库源代码\XMEMORY C标准库源代码\XNCOMMOD.C C标准库源代码\XPOLY.C C 标准库源代码\XSINH.C C标准库源代码\XSTDDEF C标准库源代码\XSTOD.C C标准库源代码\XSTRCOLL.C C标准库源代码\XSTRING C标准库源代码\XSTRXFRM.C C标准库源代码\XTOA.C C 标准库源代码\XTOW.C C标准库源代码\XTREE C标准库源代码\XTXTMODE.C C标准库源代码\XUTILITY C 标准库源代码\XVALUES.C C标准库源代码\XWCSCOLL.C C标准库源代码\XWCSXFRM.C C标准库源代码\XWCTOMB.C C标准库源代码\YMATH.H C标准库源代码\YVALS.H C标准库源代码\_CTYPE.C C 标准库源代码\_FILBUF.C C标准库源代码\_FILE.C C标准库源代码\_FILWBUF.C C标准库源代码\_FLSBUF.C C标准库源代码\_FLSWBUF.C C标准库源代码\_FPTOSTR.C C标准库源代码\_FREEBUF.C C标准库源代码\_GETBUF.C C标准库源代码\_IOS.CPP C标准库源代码\_IOSTREA.CPP C标准库源代码\_MBSLEN.C C标准库源代码\_NEWMODE.C C标准库源代码\_OPEN.C C标准库源代码\_SAMPLE_.RC C标准库源代码\_SETARGV.C C标准库源代码\_SFTBUF.C C标准库源代码\_STRERR.C C标准库源代码\_STRSTRE.CPP C标准库源代码\_TOLOWER.C C标准库源代码\_TOUPPER.C C标准库源代码\_WCTYPE.C C标准库源代码\_WOPEN.C C标准库源代码\_WSTARGV.C C标准库源代码\SYS\LOCKING.H C标准库源代码\SYS \STAT.H C标准库源代码\SYS\TIMEB.H C标准库源代码\SYS\TYPES.H C标准库源代码\SYS \UTIME.H C标准库源代码\SYS C标准库源代码\PLATFORM\CHKSTK.ASM C标准库源代码\PLATFORM\DLLSUPP.ASM C标准库源代码\PLATFORM\ENABLE.ASM C标准库源代码\PLATFORM\FP8.C C标准库源代码\PLATFORM\INP.ASM C标准库源代码\PLATFORM \LLDIV.ASM C标准库源代码\PLATFORM\LLMUL.ASM C标准库源代码\PLATFORM\LLREM.ASM C 标准库源代码\PLATFORM\LLSHL.ASM C标准库源代码\PLATFORM\LLSHR.ASM C标准库源代码\PLATFORM\MBSCAT.ASM C标准库源代码\PLATFORM\MEMCCPY.ASM C标准库源代码\PLATFORM\MEMCHR.ASM C标准库源代码\PLATFORM\MEMCMP.ASM C标准库源代码\PLATFORM \MEMCPY.ASM C标准库源代码\PLATFORM\MEMICMP.ASM C标准库源代码\PLATFORM \MEMMOVE.ASM C标准库源代码\PLATFORM\MEMSET.ASM C标准库源代码\PLATFORM\OUTP.ASM C 标准库源代码\PLATFORM\SDKNAMES.LIB C标准库源代码\PLATFORM\SEHSUPP.C C标准库源代码\PLATFORM\STRCAT.ASM C标准库源代码\PLATFORM\STRCHR.ASM C标准库源代码\PLATFORM \STRCMP.ASM C标准库源代码\PLATFORM\STRCSPN.ASM C标准库源代码\PLATFORM \STRICMP.ASM C标准库源代码\PLATFORM\STRLEN.ASM C标准库源代码\PLATFORM \STRNCAT.ASM C标准库源代码\PLATFORM\STRNCMP.ASM C标准库源代码\PLATFORM \STRNCPY.ASM C标准库源代码\PLATFORM\STRNICMP.ASM C标准库源代码\PLATFORM \STRNSET.ASM C标准库源代码\PLATFORM\STRPBRK.ASM C标准库源代码\PLATFORM \STRRCHR.ASM C标准库源代码\PLATFORM\STRREV.ASM C标准库源代码\PLATFORM \STRSET.ASM C标准库源代码\PLATFORM\STRSPN.ASM C标准库源代码\PLATFORM \STRSTR.ASM C标准库源代码\PLATFORM\TCMAP.LIB C标准库源代码\PLATFORM \TCMAPDLL.LIB C标准库源代码\PLATFORM\ULLDIV.ASM C标准库源代码\PLATFORM \ULLREM.ASM C标准库源代码\PLATFORM\ULLSHR.ASM C标准库源代码\PLATFORM \_SAMPLD_.DEF C标准库源代码\PLATFORM\_SAMPLE_.DEF C标准库源代码\PLATFORM \XST_LIB\ATLSSUP.OBJ C标准库源代码\PLATFORM\XST_LIB\CHKESP.OBJ C标准库源代码\PLATFORM\XST_LIB\CHKSTK.OBJ C标准库源代码\PLATFORM\XST_LIB\CONV.LIB C标准库源代码\PLATFORM\XST_LIB\EHPROLOG.OBJ C标准库源代码\PLATFORM\XST_LIB \EHVECCTR.OBJ C标准库源代码\PLATFORM\XST_LIB\EHVECCVB.OBJ C标准库源代码\PLATFORM\XST_LIB\EHVECDTR.OBJ C标准库源代码\PLATFORM\XST_LIB\ENABLE.OBJ C 标准库源代码\PLATFORM\XST_LIB\EXSUP.OBJ C标准库源代码\PLATFORM\XST_LIB\EXSUP2.OBJ C 标准库源代码\PLATFORM\XST_LIB\EXSUP3.OBJ C标准库源代码\PLATFORM\XST_LIB\FRAME.OBJ C 标准库源代码\PLATFORM\XST_LIB\HOOKS.OBJ C标准库源代码\PLATFORM\XST_LIB\INP.OBJ C 标准库源代码\PLATFORM\XST_LIB\LLDIV.OBJ C标准库源代码\PLATFORM\XST_LIB\LLMUL.OBJ C 标准库源代码\PLATFORM\XST_LIB\LLREM.OBJ C标准库源代码\PLATFORM\XST_LIB\LLSHL.OBJ C 标准库源代码\PLATFORM\XST_LIB\LLSHR.OBJ C标准库源代码\PLATFORM\XST_LIB \LONGJMP.OBJ C标准库源代码\PLATFORM\XST_LIB\LOWHELPR.OBJ C标准库源代码\PLATFORM\XST_LIB\MATHERR.OBJ C标准库源代码\PLATFORM\XST_LIB\MBSCAT.OBJ C 标准库源代码\PLATFORM\XST_LIB\MBSDUP.OBJ C标准库源代码\PLATFORM\XST_LIB \MEMCCPY.OBJ C标准库源代码\PLATFORM\XST_LIB\MEMCHR.OBJ C标准库源代码\PLATFORM \XST_LIB\MEMCMP.OBJ C标准库源代码\PLATFORM\XST_LIB\MEMCPY.OBJ C标准库源代码\PLATFORM\XST_LIB\MEMICMP.OBJ C标准库源代码\PLATFORM\XST_LIB\MEMMOVE.OBJ C 标准库源代码\PLATFORM\XST_LIB\MEMSET.OBJ C标准库源代码\PLATFORM\XST_LIB\OUTP.OBJ C 标准库源代码\PLATFORM\XST_LIB\RTTI.OBJ C标准库源代码\PLATFORM\XST_LIB\SEHSUPP.OBJ C 标准库源代码\PLATFORM\XST_LIB\SETJMP.OBJ C标准库源代码\PLATFORM\XST_LIB \SETJMP3.OBJ C标准库源代码\PLATFORM\XST_LIB\SETJMPEX.OBJ C标准库源代码\PLATFORM\XST_LIB\STDEXCPT.OBJ C标准库源代码\PLATFORM\XST_LIB\STRCAT.OBJ C 标准库源代码\PLATFORM\XST_LIB\STRCHR.OBJ C标准库源代码\PLATFORM\XST_LIB \STRCMP.OBJ C标准库源代码\PLATFORM\XST_LIB\STRCSPN.OBJ C标准库源代码\PLATFORM \XST_LIB\STRDUP.OBJ C标准库源代码\PLATFORM\XST_LIB\STRICMP.OBJ C标准库源代码\PLATFORM\XST_LIB\STRLEN.OBJ C标准库源代码\PLATFORM\XST_LIB\STRNCAT.OBJ C 标准库源代码\PLATFORM\XST_LIB\STRNCMP.OBJ C标准库源代码\PLATFORM\XST_LIB \STRNCPY.OBJ C标准库源代码\PLATFORM\XST_LIB\STRNICMP.OBJ C标准库源代码\PLATFORM\XST_LIB\STRNSET.OBJ C标准库源代码\PLATFORM\XST_LIB\STRPBRK.OBJ C 标准库源代码\PLATFORM\XST_LIB\STRRCHR.OBJ C标准库源代码\PLATFORM\XST_LIB \STRREV.OBJ C标准库源代码\PLATFORM\XST_LIB\STRSET.OBJ C标准库源代码\PLATFORM \XST_LIB\STRSPN.OBJ C标准库源代码\PLATFORM\XST_LIB\STRSTR.OBJ C标准库源代码\PLATFORM\XST_LIB\THROW.OBJ C标准库源代码\PLATFORM\XST_LIB\TLSSUP.OBJ C 标准库源代码\PLATFORM\XST_LIB\TRAN.LIB C标准库源代码\PLATFORM\XST_LIB \TRNSCTRL.OBJ C标准库源代码\PLATFORM\XST_LIB\TYPINFO.OBJ C标准库源代码\PLATFORM\XST_LIB\TYPNAME.OBJ C标准库源代码\PLATFORM\XST_LIB\ULLDIV.OBJ C 标准库源代码\PLATFORM\XST_LIB\ULLREM.OBJ C标准库源代码\PLATFORM\XST_LIB \ULLSHR.OBJ C标准库源代码\PLATFORM\XST_LIB\UNDNAME.OBJ C标准库源代码\PLATFORM \XST_LIB\UNHANDLD.OBJ C标准库源代码\PLATFORM\XST_LIB\USER.OBJ C标准库源代码\PLATFORM\XST_LIB\VALIDATE.OBJ C标准库源代码\PLATFORM\XST_LIB C标准库源代码\PLATFORM\XMT_LIB\ATLSSUP.OBJ C标准库源代码\PLATFORM\XMT_LIB\CHKESP.OBJ C 标准库源代码\PLATFORM\XMT_LIB\CHKSTK.OBJ C标准库源代码\PLATFORM\XMT_LIB\CONV.LIB C 标准库源代码\PLATFORM\XMT_LIB\EHPROLOG.OBJ C标准库源代码\PLATFORM\XMT_LIB \EHVECCTR.OBJ C标准库源代码\PLATFORM\XMT_LIB\EHVECCVB.OBJ C标准库源代码\PLATFORM\XMT_LIB\EHVECDTR.OBJ C标准库源代码\PLATFORM\XMT_LIB\ENABLE.OBJ C 标准库源代码\PLATFORM\XMT_LIB\EXSUP.OBJ C标准库源代码\PLATFORM\XMT_LIB\EXSUP2.OBJ C 标准库源代码\PLATFORM\XMT_LIB\EXSUP3.OBJ C标准库源代码\PLATFORM\XMT_LIB\FRAME.OBJ C 标准库源代码\PLATFORM\XMT_LIB\HOOKS.OBJ C标准库源代码\PLATFORM\XMT_LIB\INP.OBJ C 标准库源代码\PLATFORM\XMT_LIB\LLDIV.OBJ C标准库源代码\PLATFORM\XMT_LIB\LLMUL.OBJ C 标准库源代码\PLATFORM\XMT_LIB\LLREM.OBJ C标准库源代码\PLATFORM\XMT_LIB\LLSHL.OBJ C 标准库源代码\PLATFORM\XMT_LIB\LLSHR.OBJ C标准库源代码\PLATFORM\XMT_LIB \LONGJMP.OBJ C标准库源代码\PLATFORM\XMT_LIB\LOWHELPR.OBJ C标准库源代码\PLATFORM\XMT_LIB\MATHERR.OBJ C标准库源代码\PLATFORM\XMT_LIB\MBSCAT.OBJ C 标准库源代码\PLATFORM\XMT_LIB\MBSDUP.OBJ C标准库源代码\PLATFORM\XMT_LIB \MEMCCPY.OBJ C标准库源代码\PLATFORM\XMT_LIB\MEMCHR.OBJ C标准库源代码\PLATFORM \XMT_LIB\MEMCMP.OBJ C标准库源代码\PLATFORM\XMT_LIB\MEMCPY.OBJ C标准库源代码\PLATFORM\XMT_LIB\MEMICMP.OBJ C标准库源代码\PLATFORM\XMT_LIB\MEMMOVE.OBJ C 标准库源代码\PLATFORM\XMT_LIB\MEMSET.OBJ C标准库源代码\PLATFORM\XMT_LIB\OUTP.OBJ C 标准库源代码\PLATFORM\XMT_LIB\RTTI.OBJ C标准库源代码\PLATFORM\XMT_LIB\SEHSUPP.OBJ C 标准库源代码\PLATFORM\XMT_LIB\SETJMP.OBJ C标准库源代码\PLATFORM\XMT_LIB \SETJMP3.OBJ C标准库源代码\PLATFORM\XMT_LIB\SETJMPEX.OBJ C标准库源代码\PLATFORM\XMT_LIB\STDEXCPT.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRCAT.OBJ C 标准库源代码\PLATFORM\XMT_LIB\STRCHR.OBJ C标准库源代码\PLATFORM\XMT_LIB \STRCMP.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRCSPN.OBJ C标准库源代码\PLATFORM \XMT_LIB\STRDUP.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRICMP.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRLEN.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRNCAT.OBJ C 标准库源代码\PLATFORM\XMT_LIB\STRNCMP.OBJ C标准库源代码\PLATFORM\XMT_LIB \STRNCPY.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRNICMP.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRNSET.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRPBRK.OBJ C 标准库源代码\PLATFORM\XMT_LIB\STRRCHR.OBJ C标准库源代码\PLATFORM\XMT_LIB \STRREV.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRSET.OBJ C标准库源代码\PLATFORM \XMT_LIB\STRSPN.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRSTR.OBJ C标准库源代码\PLATFORM\XMT_LIB\THROW.OBJ C标准库源代码\PLATFORM\XMT_LIB\TLSSUP.OBJ C 标准库源代码\PLATFORM\XMT_LIB\TRAN.LIB C标准库源代码\PLATFORM\XMT_LIB \TRNSCTRL.OBJ C标准库源代码\PLATFORM\XMT_LIB\TYPINFO.OBJ C标准库源代码\PLATFORM\XMT_LIB\TYPNAME.OBJ C标准库源代码\PLATFORM\XMT_LIB\ULLDIV.OBJ C 标准库源代码\PLATFORM\XMT_LIB\ULLREM.OBJ C标准库源代码\PLATFORM\XMT_LIB \ULLSHR.OBJ C标准库源代码\PLATFORM\XMT_LIB\UNDNAME.OBJ C标准库源代码\PLATFORM \XMT_LIB\UNHANDLD.OBJ C标准库源代码\PLATFORM\XMT_LIB\USER.OBJ C标准库源代码\PLATFORM\XMT_LIB\VALIDATE.OBJ C标准库源代码\PLATFORM\XMT_LIB C标准库源代码\PLATFORM\XDLL_LIB\ATLSSUP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\CHKESP.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\CHKSTK.OBJ C标准库源代码\PLATFORM\XDLL_LIB \CONV.LIB C标准库源代码\PLATFORM\XDLL_LIB\DLLSUPP.OBJ C标准库源代码\PLATFORM \XDLL_LIB\EHPROLOG.OBJ C标准库源代码\PLATFORM\XDLL_LIB\EHVECCTR.OBJ C标准库源代码\PLATFORM\XDLL_LIB\EHVECCVB.OBJ C标准库源代码\PLATFORM\XDLL_LIB \EHVECDTR.OBJ C标准库源代码\PLATFORM\XDLL_LIB\ENABLE.OBJ C标准库源代码\PLATFORM\XDLL_LIB\EXSUP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\EXSUP2.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\EXSUP3.OBJ C标准库源代码\PLATFORM\XDLL_LIB \FRAME.OBJ C标准库源代码\PLATFORM\XDLL_LIB\HOOKS.OBJ C标准库源代码\PLATFORM \XDLL_LIB\INP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\LLDIV.OBJ C标准库源代码\PLATFORM\XDLL_LIB\LLMUL.OBJ C标准库源代码\PLATFORM\XDLL_LIB\LLREM.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\LLSHL.OBJ C标准库源代码\PLATFORM\XDLL_LIB \LLSHR.OBJ C标准库源代码\PLATFORM\XDLL_LIB\LONGJMP.OBJ C标准库源代码\PLATFORM \XDLL_LIB\LOWHELPR.OBJ C标准库源代码\PLATFORM\XDLL_LIB\MATHERR.OBJ C标准库源代码\PLATFORM\XDLL_LIB\MBSCAT.OBJ C标准库源代码\PLATFORM\XDLL_LIB\MBSDUP.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\MEMCCPY.OBJ C标准库源代码\PLATFORM\XDLL_LIB \MEMCHR.OBJ C标准库源代码\PLATFORM\XDLL_LIB\MEMCMP.OBJ C标准库源代码\PLATFORM \XDLL_LIB\MEMCPY.OBJ C标准库源代码\PLATFORM\XDLL_LIB\MEMICMP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\MEMMOVE.OBJ C标准库源代码\PLATFORM\XDLL_LIB\MEMSET.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\OLDEXCPT.OBJ C标准库源代码\PLATFORM\XDLL_LIB \OUTP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\RTTI.OBJ C标准库源代码\PLATFORM \XDLL_LIB\SEHSUPP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\SETJMP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\SETJMP3.OBJ C标准库源代码\PLATFORM\XDLL_LIB \SETJMPEX.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STDEXCPT.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRCAT.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRCHR.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\STRCMP.OBJ C标准库源代码\PLATFORM\XDLL_LIB \STRCSPN.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRDUP.OBJ C标准库源代码\PLATFORM \XDLL_LIB\STRICMP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRLEN.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRNCAT.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRNCMP.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\STRNCPY.OBJ C标准库源代码\PLATFORM\XDLL_LIB \STRNICMP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRNSET.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRPBRK.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRRCHR.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\STRREV.OBJ C标准库源代码\PLATFORM\XDLL_LIB \STRSET.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRSPN.OBJ C标准库源代码\PLATFORM \XDLL_LIB\STRSTR.OBJ C标准库源代码\PLATFORM\XDLL_LIB\THROW.OBJ C标准库源代码\PLATFORM\XDLL_LIB\TLSSUP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\TRAN.LIB C 标准库源代码\PLATFORM\XDLL_LIB\TRNSCTRL.OBJ C标准库源代码\PLATFORM\XDLL_LIB \TYPINFO.OBJ C标准库源代码\PLATFORM\XDLL_LIB\TYPNAME.OBJ C标准库源代码\PLATFORM\XDLL_LIB\ULLDIV.OBJ C标准库源代码\PLATFORM\XDLL_LIB\ULLREM.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\ULLSHR.OBJ C标准库源代码\PLATFORM\XDLL_LIB \UNDNAME.OBJ C标准库源代码\PLATFORM\XDLL_LIB\UNHANDLD.OBJ C标准库源代码\PLATFORM\XDLL_LIB\USER.OBJ C标准库源代码\PLATFORM\XDLL_LIB\VALIDATE.OBJ C 标准库源代码\PLATFORM\XDLL_LIB C标准库源代码\PLATFORM\ST_LIB\ATLSSUP.OBJ C标准库源代码\PLATFORM\ST_LIB\CHKESP.OBJ C标准库源代码\PLATFORM\ST_LIB\CHKSTK.OBJ C 标准库源代码\PLATFORM\ST_LIB\CONV.LIB C标准库源代码\PLATFORM\ST_LIB\EHPROLOG.OBJ C 标准库源代码\PLATFORM\ST_LIB\EHVECCTR.OBJ C标准库源代码\PLATFORM\ST_LIB \EHVECCVB.OBJ C标准库源代码\PLATFORM\ST_LIB\EHVECDTR.OBJ C标准库源代码\PLATFORM\ST_LIB\ENABLE.OBJ C标准库源代码\PLATFORM\ST_LIB\EXSUP.OBJ C标准库源代码\PLATFORM\ST_LIB\EXSUP2.OBJ C标准库源代码\PLATFORM\ST_LIB\EXSUP3.OBJ C 标准库源代码\PLATFORM\ST_LIB\FRAME.OBJ C标准库源代码\PLATFORM\ST_LIB\HOOKS.OBJ C 标准库源代码\PLATFORM\ST_LIB\INP.OBJ C标准库源代码\PLATFORM\ST_LIB\LLDIV.OBJ C 标准库源代码\PLATFORM\ST_LIB\LLMUL.OBJ C标准库源代码\PLATFORM\ST_LIB\LLREM.OBJ C 标准库源代码\PLATFORM\ST_LIB\LLSHL.OBJ C标准库源代码\PLATFORM\ST_LIB\LLSHR.OBJ C 标准库源代码\PLATFORM\ST_LIB\LONGJMP.OBJ C标准库源代码\PLATFORM\ST_LIB \LOWHELPR.OBJ C标准库源代码\PLATFORM\ST_LIB\MATHERR.OBJ C标准库源代码\PLATFORM \ST_LIB\MBSCAT.OBJ C标准库源代码\PLATFORM\ST_LIB\MBSDUP.OBJ C标准库源代码\PLATFORM\ST_LIB\MEMCCPY.OBJ C标准库源代码\PLATFORM\ST_LIB\MEMCHR.OBJ C 标准库源代码\PLATFORM\ST_LIB\MEMCMP.OBJ C标准库源代码\PLATFORM\ST_LIB\MEMCPY.OBJ C 标准库源代码\PLATFORM\ST_LIB\MEMICMP.OBJ C标准库源代码\PLATFORM\ST_LIB \MEMMOVE.OBJ C标准库源代码\PLATFORM\ST_LIB\MEMSET.OBJ C标准库源代码\PLATFORM \ST_LIB\OUTP.OBJ C标准库源代码\PLATFORM\ST_LIB\RTTI.OBJ C标准库源代码\PLATFORM \ST_LIB\SEHSUPP.OBJ C标准库源代码\PLATFORM\ST_LIB\SETJMP.OBJ C标准库源代码\PLATFORM\ST_LIB\SETJMP3.OBJ C标准库源代码\PLATFORM\ST_LIB\SETJMPEX.OBJ C 标准库源代码\PLATFORM\ST_LIB\STDEXCPT.OBJ C标准库源代码\PLATFORM\ST_LIB \STRCAT.OBJ C标准库源代码\PLATFORM\ST_LIB\STRCHR.OBJ C标准库源代码\PLATFORM \ST_LIB\STRCMP.OBJ C标准库源代码\PLATFORM\ST_LIB\STRCSPN.OBJ C标准库源代码\PLATFORM\ST_LIB\STRDUP.OBJ C标准库源代码\PLATFORM\ST_LIB\STRICMP.OBJ C 标准库源代码\PLATFORM\ST_LIB\STRLEN.OBJ C标准库源代码\PLATFORM\ST_LIB\STRNCAT.OBJ C 标准库源代码\PLATFORM\ST_LIB\STRNCMP.OBJ C标准库源代码\PLATFORM\ST_LIB \STRNCPY.OBJ C标准库源代码\PLATFORM\ST_LIB\STRNICMP.OBJ C标准库源代码\PLATFORM \ST_LIB\STRNSET.OBJ C标准库源代码\PLATFORM\ST_LIB\STRPBRK.OBJ C标准库源代码\PLATFORM\ST_LIB\STRRCHR.OBJ C标准库源代码\PLATFORM\ST_LIB\STRREV.OBJ C 标准库源代码\PLATFORM\ST_LIB\STRSET.OBJ C标准库源代码\PLATFORM\ST_LIB\STRSPN.OBJ C 标准库源代码\PLATFORM\ST_LIB\STRSTR.OBJ C标准库源代码\PLATFORM\ST_LIB\THROW.OBJ C 标准库源代码\PLATFORM\ST_LIB\TLSSUP.OBJ C标准库源代码\PLATFORM\ST_LIB\TRAN.LIB C 标准库源代码\PLATFORM\ST_LIB\TRNSCTRL.OBJ C标准库源代码\PLATFORM\ST_LIB \TYPINFO.OBJ C标准库源代码\PLATFORM\ST_LIB\TYPNAME.OBJ C标准库源代码\PLATFORM \ST_LIB\ULLDIV.OBJ C标准库源代码\PLATFORM\ST_LIB\ULLREM.OBJ C标准库源代码\PLATFORM\ST_LIB\ULLSHR.OBJ C标准库源代码\PLATFORM\ST_LIB\UNDNAME.OBJ C 标准库源代码\PLATFORM\ST_LIB\UNHANDLD.OBJ C标准库源代码\PLATFORM\ST_LIB\USER.OBJ C 标准库源代码\PLATFORM\ST_LIB\VALIDATE.OBJ C标准库源代码\PLATFORM\ST_LIB C标准库源代码\PLATFORM\MT_LIB\ATLSSUP.OBJ C标准库源代码\PLATFORM\MT_LIB\CHKESP.OBJ C 标准库源代码\PLATFORM\MT_LIB\CHKSTK.OBJ C标准库源代码\PLATFORM\MT_LIB\CONV.LIB C 标准库源代码\PLATFORM\MT_LIB\EHPROLOG.OBJ C标准库源代码\PLATFORM\MT_LIB \EHVECCTR.OBJ C标准库源代码\PLATFORM\MT_LIB\EHVECCVB.OBJ C标准库源代码\PLATFORM\MT_LIB\EHVECDTR.OBJ C标准库源代码\PLATFORM\MT_LIB\ENABLE.OBJ C 标准库源代码\PLATFORM\MT_LIB\EXSUP.OBJ C标准库源代码\PLATFORM\MT_LIB\EXSUP2.OBJ C 标准库源代码\PLATFORM\MT_LIB\EXSUP3.OBJ C标准库源代码\PLATFORM\MT_LIB\FRAME.OBJ C 标准库源代码\PLATFORM\MT_LIB\HOOKS.OBJ C标准库源代码\PLATFORM\MT_LIB\INP.OBJ C 标准库源代码\PLATFORM\MT_LIB\LLDIV.OBJ C标准库源代码\PLATFORM\MT_LIB\LLMUL.OBJ C 标准库源代码\PLATFORM\MT_LIB\LLREM.OBJ C标准库源代码\PLATFORM\MT_LIB\LLSHL.OBJ C 标准库源代码\PLATFORM\MT_LIB\LLSHR.OBJ C标准库源代码\PLATFORM\MT_LIB\LONGJMP.OBJ C 标准库源代码\PLATFORM\MT_LIB\LOWHELPR.OBJ C标准库源代码\PLATFORM\MT_LIB \MATHERR.OBJ C标准库源代码\PLATFORM\MT_LIB\MBSCAT.OBJ C标准库源代码\PLATFORM \MT_LIB\MBSDUP.OBJ C标准库源代码\PLATFORM\MT_LIB\MEMCCPY.OBJ C标准库源代码\PLATFORM\MT_LIB\MEMCHR.OBJ C标准库源代码\PLATFORM\MT_LIB\MEMCMP.OBJ C标准库源代码\PLATFORM\MT_LIB\MEMCPY.OBJ C标准库源代码\PLATFORM\MT_LIB\MEMICMP.OBJ C 标准库源代码\PLATFORM\MT_LIB\MEMMOVE.OBJ C标准库源代码\PLATFORM\MT_LIB\MEMSET.OBJ C 标准库源代码\PLATFORM\MT_LIB\OUTP.OBJ C标准库源代码\PLATFORM\MT_LIB\RTTI.OBJ C 标准库源代码\PLATFORM\MT_LIB\SEHSUPP.OBJ C标准库源代码\PLATFORM\MT_LIB\SETJMP.OBJ C 标准库源代码\PLATFORM\MT_LIB\SETJMP3.OBJ C标准库源代码\PLATFORM\MT_LIB \SETJMPEX.OBJ C标准库源代码\PLATFORM\MT_LIB\STDEXCPT.OBJ C标准库源代码\PLATFORM\MT_LIB\STRCAT.OBJ C标准库源代码\PLATFORM\MT_LIB\STRCHR.OBJ C标准库源代码\PLATFORM\MT_LIB\STRCMP.OBJ C标准库源代码\PLATFORM\MT_LIB\STRCSPN.OBJ C 标准库源代码\PLATFORM\MT_LIB\STRDUP.OBJ C标准库源代码\PLATFORM\MT_LIB\STRICMP.OBJ C 标准库源代码\PLATFORM\MT_LIB\STRLEN.OBJ C标准库源代码\PLATFORM\MT_LIB\STRNCAT.OBJ C 标准库源代码\PLATFORM\MT_LIB\STRNCMP.OBJ C标准库源代码\PLATFORM\MT_LIB \STRNCPY.OBJ C标准库源代码\PLATFORM\MT_LIB\STRNICMP.OBJ C标准库源代码\PLATFORM \MT_LIB\STRNSET.OBJ C标准库源代码\PLATFORM\MT_LIB\STRPBRK.OBJ C标准库源代码\PLATFORM\MT_LIB\STRRCHR.OBJ C标准库源代码\PLATFORM\MT_LIB\STRREV.OBJ C 标准库源代码\PLATFORM\MT_LIB\STRSET.OBJ C标准库源代码\PLATFORM\MT_LIB\STRSPN.OBJ C 标准库源代码\PLATFORM\MT_LIB\STRSTR.OBJ C标准库源代码\PLATFORM\MT_LIB\THROW.OBJ C 标准库源代码\PLATFORM\MT_LIB\TLSSUP.OBJ C标准库源代码\PLATFORM\MT_LIB\TRAN.LIB C 标准库源代码\PLATFORM\MT_LIB\TRNSCTRL.OBJ C标准库源代码\PLATFORM\MT_LIB \TYPINFO.OBJ C标准库源代码\PLATFORM\MT_LIB\TYPNAME.OBJ C标准库源代码\PLATFORM \MT_LIB\ULLDIV.OBJ C标准库源代码\PLATFORM\MT_LIB\ULLREM.OBJ C标准库源代码\PLATFORM\MT_LIB\ULLSHR.OBJ C标准库源代码\PLATFORM\MT_LIB\UNDNAME.OBJ C 标准库源代码\PLATFORM\MT_LIB\UNHANDLD.OBJ C标准库源代码\PLATFORM\MT_LIB\USER.OBJ C 标准库源代码\PLATFORM\MT_LIB\VALIDATE.OBJ C标准库源代码\PLATFORM\MT_LIB C标准库源代码\PLATFORM\DLL_LIB\ATLSSUP.OBJ C标准库源代码\PLATFORM\DLL_LIB\CHKESP.OBJ C 标准库源代码\PLATFORM\DLL_LIB\CHKSTK.OBJ C标准库源代码\PLATFORM\DLL_LIB\CONV.LIB C 标准库源代码\PLATFORM\DLL_LIB\DLLSUPP.OBJ C标准库源代码\PLATFORM\DLL_LIB \EHPROLOG.OBJ C标准库源代码\PLATFORM\DLL_LIB\EHVECCTR.OBJ C标准库源代码\PLATFORM\DLL_LIB\EHVECCVB.OBJ C标准库源代码\PLATFORM\DLL_LIB\EHVECDTR.OBJ C 标准库源代码\PLATFORM\DLL_LIB\ENABLE.OBJ C标准库源代码\PLATFORM\DLL_LIB\EXSUP.OBJ C 标准库源代码\PLATFORM\DLL_LIB\EXSUP2.OBJ C标准库源代码\PLATFORM\DLL_LIB \EXSUP3.OBJ C标准库源代码\PLATFORM\DLL_LIB\FRAME.OBJ C标准库源代码\PLATFORM \DLL_LIB\HOOKS.OBJ C标准库源代码\PLATFORM\DLL_LIB\INP.OBJ C标准库源代码\PLATFORM\DLL_LIB\LLDIV.OBJ C标准库源代码\PLATFORM\DLL_LIB\LLMUL.OBJ C标准库源代码\PLATFORM\DLL_LIB\LLREM.OBJ C标准库源代码\PLATFORM\DLL_LIB\LLSHL.OBJ C 标准库源代码\PLATFORM\DLL_LIB\LLSHR.OBJ C标准库源代码\PLATFORM\DLL_LIB \LONGJMP.OBJ C标准库源代码\PLATFORM\DLL_LIB\LOWHELPR.OBJ C标准库源代码\PLATFORM\DLL_LIB\MATHERR.OBJ C标准库源代码\PLATFORM\DLL_LIB\MBSCAT.OBJ C 标准库源代码\PLATFORM\DLL_LIB\MBSDUP.OBJ C标准库源代码\PLATFORM\DLL_LIB \MEMCCPY.OBJ C标准库源代码\PLATFORM\DLL_LIB\MEMCHR.OBJ C标准库源代码\PLATFORM \DLL_LIB\MEMCMP.OBJ C标准库源代码\PLATFORM\DLL_LIB\MEMCPY.OBJ C标准库源代码\PLATFORM\DLL_LIB\MEMICMP.OBJ C标准库源代码\PLATFORM\DLL_LIB\MEMMOVE.OBJ C 标准库源代码\PLATFORM\DLL_LIB\MEMSET.OBJ C标准库源代码\PLATFORM\DLL_LIB \OLDEXCPT.OBJ C标准库源代码\PLATFORM\DLL_LIB\OUTP.OBJ C标准库源代码\PLATFORM \DLL_LIB\RTTI.OBJ C标准库源代码\PLATFORM\DLL_LIB\SEHSUPP.OBJ C标准库源代码\PLATFORM\DLL_LIB\SETJMP.OBJ C标准库源代码\PLATFORM\DLL_LIB\SETJMP3.OBJ C 标准库源代码\PLATFORM\DLL_LIB\SETJMPEX.OBJ C标准库源代码\PLATFORM\DLL_LIB \STDEXCPT.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRCAT.OBJ C标准库源代码\PLATFORM \DLL_LIB\STRCHR.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRCMP.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRCSPN.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRDUP.OBJ C 标准库源代码\PLATFORM\DLL_LIB\STRICMP.OBJ C标准库源代码\PLATFORM\DLL_LIB \STRLEN.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRNCAT.OBJ C标准库源代码\PLATFORM \DLL_LIB\STRNCMP.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRNCPY.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRNICMP.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRNSET.OBJ C 标准库源代码\PLATFORM\DLL_LIB\STRPBRK.OBJ C标准库源代码\PLATFORM\DLL_LIB \STRRCHR.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRREV.OBJ C标准库源代码\PLATFORM \DLL_LIB\STRSET.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRSPN.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRSTR.OBJ C标准库源代码\PLATFORM\DLL_LIB\THROW.OBJ C 标准库源代码\PLATFORM\DLL_LIB\TLSSUP.OBJ C标准库源代码\PLATFORM\DLL_LIB\TRAN.LIB C 标准库源代码\PLATFORM\DLL_LIB\TRNSCTRL.OBJ C标准库源代码\PLATFORM\DLL_LIB \TYPINFO.OBJ C标准库源代码\PLATFORM\DLL_LIB\TYPNAME.OBJ C标准库源代码\PLATFORM \DLL_LIB\ULLDIV.OBJ C标准库源代码\PLATFORM\DLL_LIB\ULLREM.OBJ C标准库源代码\PLATFORM\DLL_LIB\ULLSHR.OBJ C标准库源代码\PLATFORM\DLL_LIB\UNDNAME.OBJ C 标准库源代码\PLATFORM\DLL_LIB\UNHANDLD.OBJ C标准库源代码\PLATFORM\DLL_LIB \USER.OBJ C标准库源代码\PLATFORM\DLL_LIB\VALIDATE.OBJ C标准库源代码\PLATFORM \DLL_LIB C标准库源代码\PLATFORM C标准库源代码
The C++ Standard Library A Tutorial and Reference (2nd Edition)+cppstdlib-code.zip C++标准库(第二版)英文版.pdf 非扫描版+源代码 Prefaceto the SecondEdition xxiii Acknowledgments for the SecondEdition xxiv Prefaceto the FirstEdition xxv Acknowledgments for the FirstEdition xxvi 1 About This Book 1 1.1 Why This Book. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Before ReadingThis Book. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Styleand Structure of the Book . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4 How to ReadThis Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.5 Stateof the Art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.6 Example Codeand AdditionalInformation . . . . . . . . . . . . . . . . . . . . . 5 1.7 Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 Introduction to C++ and the StandardLibrary 7 2.1 Historyof the C++ Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.1 Common Questionsabout the C++11 Standard . . . . . . . . . . . . . . 8 2.1.2 Compatibility between C++98 and C++11 . . . . . . . . . . . . . . . . . 9 2.2 Complexity and Big-O Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3 New LanguageFeatures 13 3.1 New C++11 Language Features . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.1.1 Important MinorSyntax Cleanups . . . . . . . . . . . . . . . . . . . . . 13 3.1.2 AutomaticType Deductionwith auto . . . . . . . . . . . . . . . . . . . 14 3.1.3 UniformInitialization and Initializer Lists . . . . . . . . . . . . . . . . . 15 3.1.4 Range-Basedfor Loops . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.5 MoveSemanticsand Rvalue References . . . . . . . . . . . . . . . . . . 19 viii Contents 3.1.6 New String Literals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.1.7 Keyword noexcept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.1.8 Keyword constexpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.1.9 New Template Features . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.1.10 Lambdas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.1.11 Keyword decltype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.1.12 New Function Declaration Syntax . . . . . . . . . . . . . . . . . . . . . 32 3.1.13 Scoped Enumerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.1.14 New FundamentalData Types . . . . . . . . . . . . . . . . . . . . . . . 33 3.2 Old “New” Language Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.2.1 ExplicitInitialization for FundamentalTypes . . . . . . . . . . . . . . . 37 3.2.2 Definitionof main() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4 GeneralConcepts 39 4.1 Namespace std . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.2 Header Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.3 Errorand ExceptionHandling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.3.1 Standard ExceptionClasses. . . . . . . . . . . . . . . . . . . . . . . . . 41 4.3.2 Members of ExceptionClasses. . . . . . . . . . . . . . . . . . . . . . . 44 4.3.3 PassingExceptions with Classexception_ptr . . . . . . . . . . . . . . 52 4.3.4 Throwing Standard Exceptions . . . . . . . . . . . . . . . . . . . . . . . 53 4.3.5 Deriving from Standard ExceptionClasses. . . . . . . . . . . . . . . . . 54 4.4 CallableObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.5 Concurrencyand Multithreading. . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.6 Allocators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5 Utilities 59 5.1 Pairs and Tuples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.1.1 Pairs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.1.2 Tuples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.1.3 I/O for Tuples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 5.1.4 Conversions between tuple sandpairs . . . . . . . . . . . . . . . . . . 75 5.2 Smart Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 5.2.1 Classshared_ptr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 5.2.2 Classweak_ptr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.2.3 Misusing Shared Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . 89 5.2.4 Shared and WeakPointersin Detail. . . . . . . . . . . . . . . . . . . . . 92 5.2.5 Classunique_ptr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Contents ix 5.2.6 Classunique_ptrin Detail . . . . . . . . . . . . . . . . . . . . . . . . 110 5.2.7 Classauto_ptr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 5.2.8 FinalWordsonSmart Pointers . . . . . . . . . . . . . . . . . . . . . . . 114 5.3 Numeric Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 5.4 Type Traitsand Type Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 5.4.1 Purposeof Type Traits . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 5.4.2 Type Traitsin Detail. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 5.4.3 ReferenceWrappers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 5.4.4 Function Type Wrappers . . . . . . . . . . . . . . . . . . . . . . . . . . 133 5.5 Auxiliary Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 5.5.1 Processing the Minimumand Maximum. . . . . . . . . . . . . . . . . . 134 5.5.2 Swapping Two Va l u e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 5.5.3 SupplementaryComparison Operators . . . . . . . . . . . . . . . . . . . 138 5.6 Compile-Time FractionalArithmeticwith Classratio . . . . . . . . . . . . . 140 5.7 Clocks and Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 5.7.1 Overview of the ChronoLibrary . . . . . . . . . . . . . . . . . . . . . . 143 5.7.2 Durations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 5.7.3 Clocks and Timepoints . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 5.7.4 Date and TimeFunctions byC and POSIX . . . . . . . . . . . . . . . . . 157 5.7.5 Blocking with Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 5.8 Header Files , ,and . . . . . . . . . . . . . . 161 5.8.1 Definitionsin . . . . . . . . . . . . . . . . . . . . . . . . . . 161 5.8.2 Definitionsin . . . . . . . . . . . . . . . . . . . . . . . . . . 162 5.8.3 Definitionsin . . . . . . . . . . . . . . . . . . . . . . . . . . 163 6 The StandardTe m p l a t e Library 165 6.1 STL Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 6.2 Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 6.2.1 Sequence Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 6.2.2 Associative Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 6.2.3 UnorderedContainers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 6.2.4 Associative Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 6.2.5 OtherContainers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 6.2.6 Container Adapters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 6.3 Iterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 6.3.1 Further Examples of UsingAssociative and UnorderedContainers . . . . 193 6.3.2 Iterator Categories. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 x Contents 6.4 Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 6.4.1 Ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 6.4.2 Handling MultipleRanges . . . . . . . . . . . . . . . . . . . . . . . . . 207 6.5 Iterator Adapters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 6.5.1 Insert Iterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 6.5.2 Stream Iterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 6.5.3 ReverseIterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 6.5.4 MoveIterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 6.6 User-DefinedGenericFunctions . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 6.7 ManipulatingAlgorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 6.7.1 “Removing”Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 6.7.2 ManipulatingAssociative and UnorderedContainers . . . . . . . . . . . 221 6.7.3 Algorithms versus MemberFunctions . . . . . . . . . . . . . . . . . . . 223 6.8 Functions as AlgorithmArguments . . . . . . . . . . . . . . . . . . . . . . . . . 224 6.8.1 UsingFunctions as AlgorithmArguments . . . . . . . . . . . . . . . . . 224 6.8.2 Predicates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 6.9 UsingLambdas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 6.10 Function Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 6.10.1 Definitionof Function Objects . . . . . . . . . . . . . . . . . . . . . . . 233 6.10.2 PredefinedFunction Objects . . . . . . . . . . . . . . . . . . . . . . . . 239 6.10.3 Binders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 6.10.4 Function Objectsand Bindersversus Lambdas . . . . . . . . . . . . . . . 243 6.11 Container Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 6.11.1 Requirements for Container Elements . . . . . . . . . . . . . . . . . . . 244 6.11.2 Va l u eSemanticsor ReferenceSemantics. . . . . . . . . . . . . . . . . . 245 6.12 Errors and Exceptions inside the STL . . . . . . . . . . . . . . . . . . . . . . . . 245 6.12.1 ErrorHandling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 6.12.2 ExceptionHandling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 6.13 Extendingthe STL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 6.13.1 Integrating AdditionalTypes . . . . . . . . . . . . . . . . . . . . . . . . 250 6.13.2 Deriving from STL Types . . . . . . . . . . . . . . . . . . . . . . . . . . 251 7 STL Containers 253 7.1 Common Container Abilitiesand Operations . . . . . . . . . . . . . . . . . . . . 254 7.1.1 Container Abilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 7.1.2 Container Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 7.1.3 Container Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 Contents xi 7.2 Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 7.2.1 Abilitiesof Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 7.2.2 ArrayOperations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 7.2.3 Usingarray s as C-StyleArrays . . . . . . . . . . . . . . . . . . . . . . 267 7.2.4 ExceptionHandling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 7.2.5 TupleInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 7.2.6 Examples of UsingArrays . . . . . . . . . . . . . . . . . . . . . . . . . 268 7.3 Ve c t o r s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 7.3.1 Abilitiesof Ve c t o r s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 7.3.2 Ve c t o r Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 7.3.3 UsingVe c t o r sas C-StyleArrays . . . . . . . . . . . . . . . . . . . . . . 278 7.3.4 ExceptionHandling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 7.3.5 Examples of UsingVe c t o r s . . . . . . . . . . . . . . . . . . . . . . . . . 279 7.3.6 Classvector . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 7.4 Deques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 7.4.1 Abilitiesof Deques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 7.4.2 Deque Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 7.4.3 ExceptionHandling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 7.4.4 Examples of UsingDeques. . . . . . . . . . . . . . . . . . . . . . . . . 288 7.5 Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 7.5.1 Abilitiesof Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 7.5.2 List Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 7.5.3 ExceptionHandling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 7.5.4 Examples of UsingLists . . . . . . . . . . . . . . . . . . . . . . . . . . 298 7.6 Forward Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 7.6.1 Abilitiesof Forward Lists . . . . . . . . . . . . . . . . . . . . . . . . . . 300 7.6.2 Forward List Operations . . . . . . . . . . . . . . . . . . . . . . . . . . 302 7.6.3 ExceptionHandling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 7.6.4 Examples of UsingForward Lists . . . . . . . . . . . . . . . . . . . . . . 312 7.7 Sets and Multisets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 7.7.1 Abilitiesof Sets and Multisets . . . . . . . . . . . . . . . . . . . . . . . 315 7.7.2 Setand MultisetOperations. . . . . . . . . . . . . . . . . . . . . . . . . 316 7.7.3 ExceptionHandling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 7.7.4 Examples of UsingSets and Multisets . . . . . . . . . . . . . . . . . . . 325 7.7.5 Example of Specifying the Sorting Criterion at Runtime . . . . . . . . . . 328 xii Contents 7.8 Mapsand Multimaps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 7.8.1 Abilitiesof Mapsand Multimaps. . . . . . . . . . . . . . . . . . . . . . 332 7.8.2 Map and Multimap Operations . . . . . . . . . . . . . . . . . . . . . . . 333 7.8.3 UsingMapsas Associative Arrays . . . . . . . . . . . . . . . . . . . . . 343 7.8.4 ExceptionHandling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 7.8.5 Examples of UsingMapsand Multimaps. . . . . . . . . . . . . . . . . . 345 7.8.6 Example with Maps,Strings,and Sorting Criterion at Runtime . . . . . . 351 7.9 UnorderedContainers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 7.9.1 Abilitiesof UnorderedContainers . . . . . . . . . . . . . . . . . . . . . 357 7.9.2 Creating and Controlling UnorderedContainers . . . . . . . . . . . . . . 359 7.9.3 OtherOperationsfor UnorderedContainers . . . . . . . . . . . . . . . . 367 7.9.4 The Bucket Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 7.9.5 UsingUnorderedMapsas Associative Arrays . . . . . . . . . . . . . . . 374 7.9.6 ExceptionHandling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 7.9.7 Examples of UsingUnorderedContainers . . . . . . . . . . . . . . . . . 375 7.10 OtherSTL Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 7.10.1 Strings as STL Containers . . . . . . . . . . . . . . . . . . . . . . . . . 385 7.10.2 Ordinary C-StyleArrays as STL Containers . . . . . . . . . . . . . . . . 386 7.11 Implementing ReferenceSemantics . . . . . . . . . . . . . . . . . . . . . . . . . 388 7.12 Whento Use WhichContainer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 8 STL ContainerMembersin Detail 397 8.1 Type Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 8.2 Create, Copy,and DestroyOperations . . . . . . . . . . . . . . . . . . . . . . . . 400 8.3 Nonmodifying Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 8.3.1 Size Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 8.3.2 Comparison Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 8.3.3 Nonmodifying Operationsfor Associative and UnorderedContainers . . . 404 8.4 Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 8.5 Direct ElementAccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 8.6 Operationsto Generate Iterators . . . . . . . . . . . . . . . . . . . . . . . . . . . 410 8.7 Inserting and RemovingElements . . . . . . . . . . . . . . . . . . . . . . . . . . 411 8.7.1 Inserting Single Elements . . . . . . . . . . . . . . . . . . . . . . . . . . 411 8.7.2 Inserting MultipleElements . . . . . . . . . . . . . . . . . . . . . . . . . 416 8.7.3 RemovingElements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 8.7.4 Resizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 Contents xiii 8.8 Special MemberFunctions for Lists and Forward Lists . . . . . . . . . . . . . . . 420 8.8.1 Special MemberFunctions for Lists (and Forward Lists) . . . . . . . . . 420 8.8.2 Special MemberFunctions for Forward Lists Only . . . . . . . . . . . . 423 8.9 Container Policy Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 8.9.1 Nonmodifying Policy Functions . . . . . . . . . . . . . . . . . . . . . . 427 8.9.2 ModifyingPolicy Functions . . . . . . . . . . . . . . . . . . . . . . . . 428 8.9.3 Bucket Interface for UnorderedContainers . . . . . . . . . . . . . . . . . 429 8.10 Allocator Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 8.10.1 FundamentalAllocator Members . . . . . . . . . . . . . . . . . . . . . . 430 8.10.2 Constructorswith Optional Allocator Parameters . . . . . . . . . . . . . 430 9 STL Iterators 433 9.1 Header Files for Iterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 9.2 Iterator Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 9.2.1 Output Iterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 9.2.2 Input Iterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 9.2.3 Forward Iterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 9.2.4 BidirectionalIterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 9.2.5 Random-Access Iterators . . . . . . . . . . . . . . . . . . . . . . . . . . 438 9.2.6 The Incrementand DecrementProblem of Ve c t o r Iterators . . . . . . . . 440 9.3 Auxiliary Iterator Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 9.3.1 advance() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 9.3.2 next()and prev(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 9.3.3 distance() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445 9.3.4 iter_swap() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 9.4 Iterator Adapters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448 9.4.1 ReverseIterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448 9.4.2 Insert Iterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454 9.4.3 Stream Iterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460 9.4.4 MoveIterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466 9.5 Iterator Traits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466 9.5.1 WritingGenericFunctions for Iterators . . . . . . . . . . . . . . . . . . . 468 9.6 WritingUser-DefinedIterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471 xiv Contents 10 STL Function Objectsand UsingLambdas 475 10.1 The Conceptof Function Objects . . . . . . . . . . . . . . . . . . . . . . . . . . 475 10.1.1 Function Objectsas Sorting Criteria . . . . . . . . . . . . . . . . . . . . 476 10.1.2 Function Objectswith Internal State . . . . . . . . . . . . . . . . . . . . 478 10.1.3 The Return Va l u eof for_each() . . . . . . . . . . . . . . . . . . . . . 482 10.1.4 Predicatesversus Function Objects. . . . . . . . . . . . . . . . . . . . . 483 10.2 PredefinedFunction Objectsand Binders . . . . . . . . . . . . . . . . . . . . . . 486 10.2.1 PredefinedFunction Objects . . . . . . . . . . . . . . . . . . . . . . . . 486 10.2.2 Function Adapters and Binders. . . . . . . . . . . . . . . . . . . . . . . 487 10.2.3 User-DefinedFunction Objectsfor Function Adapters . . . . . . . . . . . 495 10.2.4 Deprecated Function Adapters . . . . . . . . . . . . . . . . . . . . . . . 497 10.3 UsingLambdas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499 10.3.1 Lambdas versus Binders . . . . . . . . . . . . . . . . . . . . . . . . . . 499 10.3.2 Lambdas versus StatefulFunction Objects. . . . . . . . . . . . . . . . . 500 10.3.3 Lambdas Calling Global and MemberFunctions . . . . . . . . . . . . . . 502 10.3.4 Lambdas as HashFunction, Sorting,or Equivalence Criterion . . . . . . . 504 11 STL Algorithms 505 11.1 AlgorithmHeader Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505 11.2 AlgorithmOverview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505 11.2.1 A BriefIntroduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506 11.2.2 Classification of Algorithms . . . . . . . . . . . . . . . . . . . . . . . . 506 11.3 Auxiliary Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 11.4 The for_each()Algorithm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 11.5 Nonmodifying Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 11.5.1 Counting Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 11.5.2 Minimumand Maximum. . . . . . . . . . . . . . . . . . . . . . . . . . 525 11.5.3 SearchingElements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 11.5.4 Comparing Ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542 11.5.5 Predicatesfor Ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 11.6 ModifyingAlgorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 11.6.1 Copying Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 11.6.2 MovingElements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561 11.6.3 Transforming and Combining Elements . . . . . . . . . . . . . . . . . . 563 11.6.4 Swapping Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566 11.6.5 AssigningNew Va l u e s . . . . . . . . . . . . . . . . . . . . . . . . . . . 568 11.6.6 ReplacingElements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571 Contents xv 11.7 RemovingAlgorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575 11.7.1 RemovingCertain Va l u e s . . . . . . . . . . . . . . . . . . . . . . . . . . 575 11.7.2 RemovingDuplicates . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578 11.8 Mutating Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583 11.8.1 Reversingthe Orderof Elements . . . . . . . . . . . . . . . . . . . . . . 583 11.8.2 Rotating Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584 11.8.3 PermutingElements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587 11.8.4 Shuffling Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589 11.8.5 MovingElements to the Front . . . . . . . . . . . . . . . . . . . . . . . 592 11.8.6 Partition into Two Subranges . . . . . . . . . . . . . . . . . . . . . . . . 594 11.9 Sorting Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596 11.9.1 Sorting AllElements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596 11.9.2 Partial Sorting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599 11.9.3 Sorting Accordingto the n th Element . . . . . . . . . . . . . . . . . . . 602 11.9.4 HeapAlgorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604 11.10 Sorted-Range Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608 11.10.1SearchingElements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608 11.10.2MergingElements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614 11.11 Numeric Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623 11.11.1Processing Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623 11.11.2Converting Relativeand Absolute Va l u e s . . . . . . . . . . . . . . . . . . 627 12 SpecialContainers 631 12.1 Stacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632 12.1.1 The Core Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633 12.1.2 Example of UsingStacks . . . . . . . . . . . . . . . . . . . . . . . . . . 633 12.1.3 A User-DefinedStackClass. . . . . . . . . . . . . . . . . . . . . . . . . 635 12.1.4 Classstack in Detail . . . . . . . . . . . . . . . . . . . . . . . . . . 637 12.2 Queues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638 12.2.1 The Core Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639 12.2.2 Example of UsingQueues . . . . . . . . . . . . . . . . . . . . . . . . . 640 12.2.3 A User-DefinedQueue Class . . . . . . . . . . . . . . . . . . . . . . . . 641 12.2.4 Classqueue in Detail . . . . . . . . . . . . . . . . . . . . . . . . . . 641 12.3 PriorityQueues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641 12.3.1 The Core Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643 12.3.2 Example of UsingPriorityQueues. . . . . . . . . . . . . . . . . . . . . 643 12.3.3 Classpriority_queue in Detail . . . . . . . . . . . . . . . . . . . . 644 xvi Contents 12.4 Container Adapters in Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645 12.4.1 Type Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645 12.4.2 Constructors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646 12.4.3 SupplementaryConstructorsfor PriorityQueues. . . . . . . . . . . . . . 646 12.4.4 Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647 12.5 Bitsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650 12.5.1 Examples of UsingBitsets . . . . . . . . . . . . . . . . . . . . . . . . . 651 12.5.2 Classbitsetin Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . 653 13 Strings 655 13.1 Purposeof the String Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656 13.1.1 A First Example: Extractinga Temporary Filename . . . . . . . . . . . . 656 13.1.2 A Second Example: ExtractingWordsand PrintingThemBackward . . . 660 13.2 Description of the String Classes . . . . . . . . . . . . . . . . . . . . . . . . . . 663 13.2.1 String Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663 13.2.2 OperationOverview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666 13.2.3 Constructorsand Destructor . . . . . . . . . . . . . . . . . . . . . . . . 667 13.2.4 Strings and C-Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668 13.2.5 Size and Capacity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669 13.2.6 ElementAccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671 13.2.7 Comparisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672 13.2.8 Modifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673 13.2.9 Substringsand String Concatenation . . . . . . . . . . . . . . . . . . . . 676 13.2.10Input/Output Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . 677 13.2.11Searchingand Finding . . . . . . . . . . . . . . . . . . . . . . . . . . . 678 13.2.12The Va l u enpos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680 13.2.13Numeric Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681 13.2.14Iterator Supportfor Strings . . . . . . . . . . . . . . . . . . . . . . . . . 684 13.2.15Internationalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689 13.2.16Performance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692 13.2.17Strings and Ve c t o r s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692 13.3 String Classin Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693 13.3.1 Type Definitionsand StaticVa l u e s . . . . . . . . . . . . . . . . . . . . . 693 13.3.2 Create, Copy,and DestroyOperations . . . . . . . . . . . . . . . . . . . 694 13.3.3 Operationsfor Size and Capacity . . . . . . . . . . . . . . . . . . . . . . 696 13.3.4 Comparisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697 13.3.5 Character Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699 13.3.6 GeneratingC-Strings and Character Arrays . . . . . . . . . . . . . . . . 700 Contents xvii 13.3.7 ModifyingOperations. . . . . . . . . . . . . . . . . . . . . . . . . . . . 700 13.3.8 Searchingand Finding . . . . . . . . . . . . . . . . . . . . . . . . . . . 708 13.3.9 Substringsand String Concatenation . . . . . . . . . . . . . . . . . . . . 711 13.3.10Input/Output Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 712 13.3.11Numeric Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713 13.3.12GeneratingIterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714 13.3.13Allocator Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715 14 RegularExpressions 717 14.1 The Regex Matchand Search Interface . . . . . . . . . . . . . . . . . . . . . . . 717 14.2 Dealingwith Subexpressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720 14.3 Regex Iterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726 14.4 Regex Token Iterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727 14.5 ReplacingRegularExpressions . . . . . . . . . . . . . . . . . . . . . . . . . . . 730 14.6 Regex Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732 14.7 Regex Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735 14.8 The Regex ECMAScriptGrammar . . . . . . . . . . . . . . . . . . . . . . . . . 738 14.9 OtherGrammars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739 14.10 BasicRegex Signaturesin Detail . . . . . . . . . . . . . . . . . . . . . . . . . . 740 15 Input/Output UsingStreamClasses 743 15.1 Common Background of I/O Streams . . . . . . . . . . . . . . . . . . . . . . . . 744 15.1.1 Stream Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744 15.1.2 Stream Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744 15.1.3 Global Stream Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . 745 15.1.4 Stream Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745 15.1.5 Manipulators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746 15.1.6 A Simple Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746 15.2 FundamentalStream Classesand Objects. . . . . . . . . . . . . . . . . . . . . . 748 15.2.1 Classes and ClassHierarchy . . . . . . . . . . . . . . . . . . . . . . . . 748 15.2.2 Global Stream Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . 751 15.2.3 Header Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 752 15.3 Standard Stream Operators <> . . . . . . . . . . . . . . . . . . . . . . . . 753 15.3.1 Output Operator <> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754 15.3.3 Input/Output of Special Types . . . . . . . . . . . . . . . . . . . . . . . 755 xviii Contents 15.4 Stateof Streams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758 15.4.1 Constants for the Stateof Streams . . . . . . . . . . . . . . . . . . . . . 758 15.4.2 MemberFunctions Accessingthe Stateof Streams. . . . . . . . . . . . . 759 15.4.3 Stream Stateand BooleanConditions . . . . . . . . . . . . . . . . . . . 760 15.4.4 Stream Stateand Exceptions . . . . . . . . . . . . . . . . . . . . . . . . 762 15.5 Standard Input/Output Functions . . . . . . . . . . . . . . . . . . . . . . . . . . 767 15.5.1 MemberFunctions for Input . . . . . . . . . . . . . . . . . . . . . . . . 768 15.5.2 MemberFunctions for Output . . . . . . . . . . . . . . . . . . . . . . . 771 15.5.3 Example Uses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772 15.5.4 sentryObjects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772 15.6 Manipulators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774 15.6.1 Overview of AllManipulators . . . . . . . . . . . . . . . . . . . . . . . 774 15.6.2 How ManipulatorsWork . . . . . . . . . . . . . . . . . . . . . . . . . . 776 15.6.3 User-DefinedManipulators. . . . . . . . . . . . . . . . . . . . . . . . . 777 15.7 Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779 15.7.1 Format Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779 15.7.2 Input/Output Format of BooleanVa l u e s . . . . . . . . . . . . . . . . . . 781 15.7.3 FieldWidth, Fill Character,and Adjustment . . . . . . . . . . . . . . . . 781 15.7.4 PositiveSign and UppercaseLetters . . . . . . . . . . . . . . . . . . . . 784 15.7.5 Numeric Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785 15.7.6 Floating-Point Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . 787 15.7.7 GeneralFormatting Definitions . . . . . . . . . . . . . . . . . . . . . . . 789 15.8 Internationalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790 15.9 File Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791 15.9.1 File Stream Classes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791 15.9.2 Rvalue and MoveSemanticsfor File Streams . . . . . . . . . . . . . . . 795 15.9.3 File Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796 15.9.4 RandomAccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799 15.9.5 UsingFile Descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . 801 15.10 Stream Classesfor Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802 15.10.1String Stream Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802 15.10.2MoveSemanticsfor String Streams. . . . . . . . . . . . . . . . . . . . . 806 15.10.3char* Stream Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807 15.11 Input/Output Operators for User-DefinedTypes . . . . . . . . . . . . . . . . . . . 810 15.11.1Implementing Output Operators . . . . . . . . . . . . . . . . . . . . . . 810 15.11.2Implementing Input Operators . . . . . . . . . . . . . . . . . . . . . . . 812 15.11.3Input/Output UsingAuxiliary Functions . . . . . . . . . . . . . . . . . . 814 Contents xix 15.11.4User-DefinedFormat Flags . . . . . . . . . . . . . . . . . . . . . . . . . 815 15.11.5Conventionsfor User-DefinedInput/Output Operators . . . . . . . . . . . 818 15.12 Connecting Input and Output Streams . . . . . . . . . . . . . . . . . . . . . . . . 819 15.12.1Loose Coupling Usingtie() . . . . . . . . . . . . . . . . . . . . . . . . 819 15.12.2TightCoupling UsingStream Buffers . . . . . . . . . . . . . . . . . . . 820 15.12.3Redirecting Standard Streams. . . . . . . . . . . . . . . . . . . . . . . . 822 15.12.4Streamsfor Readingand Writing. . . . . . . . . . . . . . . . . . . . . . 824 15.13 The Stream Buffer Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826 15.13.1The Stream Buffer Interfaces . . . . . . . . . . . . . . . . . . . . . . . . 826 15.13.2Stream Buffer Iterators . . . . . . . . . . . . . . . . . . . . . . . . . . . 828 15.13.3User-DefinedStream Buffers . . . . . . . . . . . . . . . . . . . . . . . . 832 15.14 PerformanceIssues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844 15.14.1Synchronization with C’sStandard Streams . . . . . . . . . . . . . . . . 845 15.14.2Buffering in Stream Buffers . . . . . . . . . . . . . . . . . . . . . . . . . 845 15.14.3UsingStream Buffers Directly . . . . . . . . . . . . . . . . . . . . . . . 846 16 Internationalization 849 16.1 Character Encodingsand Character Sets . . . . . . . . . . . . . . . . . . . . . . . 850 16.1.1 Multibyte and Wide-CharacterText . . . . . . . . . . . . . . . . . . . . . 850 16.1.2 Different Character Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . 851 16.1.3 Dealingwith Character Sets in C++ . . . . . . . . . . . . . . . . . . . . 852 16.1.4 Character Traits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853 16.1.5 Internationalization of Special Characters . . . . . . . . . . . . . . . . . 857 16.2 The Conceptof Locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857 16.2.1 UsingLocales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858 16.2.2 Locale Facets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864 16.3 Localesin Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866 16.4 Facets in Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 869 16.4.1 Numeric Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 870 16.4.2 Monetary Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874 16.4.3 Timeand Date Formatting . . . . . . . . . . . . . . . . . . . . . . . . . 884 16.4.4 Character Classification and Conversion . . . . . . . . . . . . . . . . . . 891 16.4.5 String Collation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904 16.4.6 Internationalized Messages . . . . . . . . . . . . . . . . . . . . . . . . . 905 xx Contents 17 Numerics 907 17.1 RandomNumbers and Distributions. . . . . . . . . . . . . . . . . . . . . . . . . 907 17.1.1 A First Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908 17.1.2 Engines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 912 17.1.3 Enginesin Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915 17.1.4 Distributions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 917 17.1.5 Distributionsin Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921 17.2 Complex Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925 17.2.1 Classcomplex in General . . . . . . . . . . . . . . . . . . . . . . . . 925 17.2.2 Examples UsingClasscomplex . . . . . . . . . . . . . . . . . . . . . 926 17.2.3 Operationsfor Complex Numbers . . . . . . . . . . . . . . . . . . . . . 928 17.2.4 Classcomplex in Detail . . . . . . . . . . . . . . . . . . . . . . . . . 935 17.3 Global Numeric Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 941 17.4 Va l a r r a y s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943 18 Concurrency 945 18.1 The High-Level Interface: async() and Futures . . . . . . . . . . . . . . . . . . 946 18.1.1 A First Example Usingasync() and Futures . . . . . . . . . . . . . . . 946 18.1.2 AnExample of Waitingfor Two Tasks . . . . . . . . . . . . . . . . . . . 955 18.1.3 Shared Futures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 960 18.2 The Low-Level Interface: Threadsand Promises . . . . . . . . . . . . . . . . . . 964 18.2.1 Classstd::thread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964 18.2.2 Promises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969 18.2.3 Classpackaged_task . . . . . . . . . . . . . . . . . . . . . . . . . . 972 18.3 Startinga Thread in Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973 18.3.1 async() in Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974 18.3.2 Futuresin Detail. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975 18.3.3 Shared Futuresin Detail. . . . . . . . . . . . . . . . . . . . . . . . . . . 976 18.3.4 Classstd::promise in Detail . . . . . . . . . . . . . . . . . . . . . . . 977 18.3.5 Classstd::packaged_task in Detail . . . . . . . . . . . . . . . . . . . 977 18.3.6 Classstd::thread in Detail . . . . . . . . . . . . . . . . . . . . . . . . 979 18.3.7 Namespace this_thread . . . . . . . . . . . . . . . . . . . . . . . . . 981 18.4 Synchronizing Threads, or the Problem of Concurrency . . . . . . . . . . . . . . 982 18.4.1 Bewareof Concurrency! . . . . . . . . . . . . . . . . . . . . . . . . . . 982 18.4.2 The Reason for the Problem of Concurrent Data Access . . . . . . . . . . 983 18.4.3 WhatExactlyCan GoWrong (the Extent of the Problem) . . . . . . . . . 983 18.4.4 The Features to Solvethe Problems . . . . . . . . . . . . . . . . . . . . . 987 Contents xxi 18.5 Mutexesand Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 989 18.5.1 UsingMutexesand Locks . . . . . . . . . . . . . . . . . . . . . . . . . . 989 18.5.2 Mutexesand Locks in Detail . . . . . . . . . . . . . . . . . . . . . . . . 998 18.5.3 Calling Oncefor MultipleThreads . . . . . . . . . . . . . . . . . . . . . 1000 18.6 ConditionVa r i a b l e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003 18.6.1 Purposeof ConditionVa r i a b l e s . . . . . . . . . . . . . . . . . . . . . . . 1003 18.6.2 A First Complete Example for ConditionVa r i a b l e s . . . . . . . . . . . . 1004 18.6.3 UsingConditionVa r i a b l e s to Implement a Queue for MultipleThreads . . 1006 18.6.4 ConditionVa r i a b l e s in Detail . . . . . . . . . . . . . . . . . . . . . . . . 1009 18.7 Atomics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012 18.7.1 Example of UsingAtomics . . . . . . . . . . . . . . . . . . . . . . . . . 1012 18.7.2 Atomicsand TheirHigh-Level Interface in Detail . . . . . . . . . . . . . 1016 18.7.3 The C-StyleInterface of Atomics . . . . . . . . . . . . . . . . . . . . . . 1019 18.7.4 The Low-Level Interface of Atomics . . . . . . . . . . . . . . . . . . . . 1019 19 Allocators 1023 19.1 UsingAllocatorsas an Application Programmer . . . . . . . . . . . . . . . . . . 1023 19.2 A User-DefinedAllocator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024 19.3 UsingAllocatorsas a LibraryProgrammer . . . . . . . . . . . . . . . . . . . . . 1026 Bibliography 1031 Newsgroups and Forums . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031 Books and Web Sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032 Index 1037 This page intentionally left blank

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值