{"id":85023,"date":"2021-09-28T09:00:41","date_gmt":"2021-09-28T03:30:41","guid":{"rendered":"https:\/\/techvidvan.com\/tutorials\/?p=85023"},"modified":"2021-09-28T09:00:41","modified_gmt":"2021-09-28T03:30:41","slug":"cpp-stl","status":"publish","type":"post","link":"https:\/\/techvidvan.com\/tutorials\/cpp-stl\/","title":{"rendered":"C++ STL"},"content":{"rendered":"<p>The C++ programming language offers various functionalities and features to the developers. It also supports object-oriented programming. In this tutorial, we are going to learn about the standard template libraries of C++. It is one of the most powerful features of the C++ programming language.<\/p>\n<h3>What is STL in C++?<\/h3>\n<p>In C++, the C++ STL is a very powerful feature and it is a set of C++ template classes. With the help of STL, you can make use of general-purpose classes and functions with templates. And these implement many popular and most used algorithms and data structures like vectors, lists, queues and stacks.<\/p>\n<h3>Components of C++ STL<\/h3>\n<p>There are four components of STL:-<\/p>\n<ul>\n<li>Containers<\/li>\n<li>Algorithms<\/li>\n<li>Function objects<\/li>\n<li>Iterators<\/li>\n<\/ul>\n<h4>1. Containers<\/h4>\n<p>The main purpose of containers is to manage collections of objects of a certain kind. In the following table, there are different types of containers:-<\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Container<\/b><\/td>\n<td><b>Description<\/b><\/td>\n<td><b>Header file<\/b><\/td>\n<td><b>iterator<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">vector<\/span><\/td>\n<td><span style=\"font-weight: 400\">It is a class and it creates a dynamic array which allows insertion and deletion at the back.<\/span><\/td>\n<td><span style=\"font-weight: 400\">&lt;vector&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">Random access<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">list<\/span><\/td>\n<td><span style=\"font-weight: 400\">It allows insertions and deletions from anywhere.<\/span><\/td>\n<td><span style=\"font-weight: 400\">&lt;list&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">Bidirectional<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">deque<\/span><\/td>\n<td><span style=\"font-weight: 400\">It allows insertion and deletion from both ends.<\/span><\/td>\n<td><span style=\"font-weight: 400\">&lt;deque&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">Random access<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">set<\/span><\/td>\n<td><span style=\"font-weight: 400\">It is used for storing unique sets.<\/span><\/td>\n<td><span style=\"font-weight: 400\">&lt;set&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">Bidirectional<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">multiset<\/span><\/td>\n<td><span style=\"font-weight: 400\">It is used for storing non-unique sets.<\/span><\/td>\n<td><span style=\"font-weight: 400\">&lt;set&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">Bidirectional<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">map<\/span><\/td>\n<td><span style=\"font-weight: 400\">It is used for storing key-value pairs. And each key can be linked with only one value.<\/span><\/td>\n<td><span style=\"font-weight: 400\">&lt;map&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">Bidirectional<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">multimap<\/span><\/td>\n<td><span style=\"font-weight: 400\">It is used for storing key-value pairs. And each key can be linked with more than one value.<\/span><\/td>\n<td><span style=\"font-weight: 400\">&lt;map&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">Bidirectional<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">stack<\/span><\/td>\n<td><span style=\"font-weight: 400\">Follows last in first out(LIFO).<\/span><\/td>\n<td><span style=\"font-weight: 400\">&lt;stack&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">No iterator<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">queue<\/span><\/td>\n<td><span style=\"font-weight: 400\">Follows first in first out(FIFO).<\/span><\/td>\n<td><span style=\"font-weight: 400\">&lt;queue&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">No iterator<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Priority-queue<\/span><\/td>\n<td><span style=\"font-weight: 400\">The highest priority is to remove the first element.<\/span><\/td>\n<td><span style=\"font-weight: 400\">&lt;queue&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">No iterator<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h5>STL Containers Classifications<\/h5>\n<ul>\n<li>Sequence Containers:- Vector, deque and list.<\/li>\n<li>Associative Containers:- Set, multiset, map and multimap.<\/li>\n<li>Derived Containers:- Stack, queue and priority_queue.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-85168\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/09\/stl-containers-classifications.jpg\" alt=\"stl containers classifications\" width=\"864\" height=\"477\" \/><\/p>\n<h4>2. STL Iterator<\/h4>\n<p>The main purpose of iterators is to step through the elements of collections of objects. You can say that, iterators are pointer-like entities. And with the help of iterators, you can access individual elements in a container.<br \/>\nIterators are made of mainly two functions:-<\/p>\n<ul>\n<li>begin():- This function helps you to return an iterator to the first element of the vector.<\/li>\n<li>end():- Returns an iterator to the last element of a container.<\/li>\n<\/ul>\n<h5>Categories of Iterators in C++ STL<\/h5>\n<p><strong>1. Input Iterators:<\/strong>&#8211; It is used to read the values from a container. It is a one way iterator. You can increment an input iterator but it cannot be decremented.<\/p>\n<p><strong>2. Output Iterator:-<\/strong> It is used to modify the value of a container. But you cannot read a value from a container by using an output iterator. It is also a one way iterator. And it is only a write-only iterator.<\/p>\n<p><strong>3. Forward Iterator:<\/strong>&#8211; With the help of a forward iterator, you can navigate through the container one at a time using the ++ operator.<\/p>\n<p><strong>4. Bidirectional Iterator:<\/strong>&#8211; It is similar to the forward iterator but it also moves in backward direction. It is a two way iterator.<\/p>\n<p><strong>5. Random Access Iterator:<\/strong>&#8211; It is used to access a random element of a container. It is similar to the bidirectional iterator and it also has an additional feature such as pointer addition.<\/p>\n<table>\n<tbody>\n<tr>\n<td><b>iterator<\/b><\/td>\n<td><b>Element access<\/b><\/td>\n<td><b>Read<\/b><\/td>\n<td><b>Write<\/b><\/td>\n<td><b>Increment operation<\/b><\/td>\n<td><b>Comparison<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">input<\/span><\/td>\n<td><span style=\"font-weight: 400\">-&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">v = *p<\/span><\/td>\n<td><\/td>\n<td><span style=\"font-weight: 400\">++<\/span><\/td>\n<td><span style=\"font-weight: 400\">==,!=<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">output<\/span><\/td>\n<td><\/td>\n<td><\/td>\n<td><span style=\"font-weight: 400\">*p = v<\/span><\/td>\n<td><span style=\"font-weight: 400\">++<\/span><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">forward<\/span><\/td>\n<td><span style=\"font-weight: 400\">-&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">v = *p<\/span><\/td>\n<td><span style=\"font-weight: 400\">*p = v<\/span><\/td>\n<td><span style=\"font-weight: 400\">++<\/span><\/td>\n<td><span style=\"font-weight: 400\">==,!=<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Bidirectional<\/span><\/td>\n<td><span style=\"font-weight: 400\">-&gt;<\/span><\/td>\n<td><span style=\"font-weight: 400\">v = *p<\/span><\/td>\n<td><span style=\"font-weight: 400\">*p = v<\/span><\/td>\n<td><span style=\"font-weight: 400\">++,&#8211;<\/span><\/td>\n<td><span style=\"font-weight: 400\">==,!=<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Random access<\/span><\/td>\n<td><span style=\"font-weight: 400\">-&gt;,[ ]<\/span><\/td>\n<td><span style=\"font-weight: 400\">v = *p<\/span><\/td>\n<td><span style=\"font-weight: 400\">*p = v<\/span><\/td>\n<td><span style=\"font-weight: 400\">++,&#8211;,+,-,+=,&#8211;=<\/span><\/td>\n<td><span style=\"font-weight: 400\">==,!=,&lt;,&gt;,&lt;=,&gt;=<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>3. Algorithms<\/h4>\n<p>Algorithms mainly act on containers. With the help of algorithms, you can perform initialization, sorting, searching and transforming of the elements of the containers. Using algorithms, you can save a lot of time and effort. To access the STL algorithms, you have to include the &lt;algorithm&gt; header file in the program code. To perform the complex operations, it provides 60 algorithm functions.<\/p>\n<p>Algorithms can be further classified into:-<\/p>\n<p><strong>a. Mutating Algorithms:<\/strong>&#8211; Using this, you can change the value of a container. Using mutating algorithms, you can alter the order of the elements.<\/p>\n<p><strong>b. Non Mutating Algorithms:<\/strong>&#8211; You cannot change the value of a container and also cannot change the order of the elements.<\/p>\n<p><strong>c. Sorting Algorithms:<\/strong>&#8211; Used to sort the elements in a container.<\/p>\n<p><strong>d. Set Algorithms:<\/strong>&#8211; With this, you can perform some operations on a container which will help you in great efficiency. Also known as sorted range algorithms.<\/p>\n<p><strong>e. Relational Algorithms:<\/strong>&#8211; With the help of these algorithms, you can work with numeric datas. With this, you can perform all the mathematical operations to the elements of a container.<\/p>\n<h4>4. Function Objects in STL<\/h4>\n<p>STL includes classes that overload the function call operator. Function objects or Functors are the instances of such classes. Function object is a smart pointer and it has many advantages over the normal function.<\/p>\n<h5>Advantages of using the function objects<\/h5>\n<ul>\n<li>It can have member functions and member attributes.<\/li>\n<li>It can be initialized before using it.<\/li>\n<li>Function objects are faster than the normal functions.<\/li>\n<\/ul>\n<p><strong>Example:-<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">#include &lt;iostream&gt;  \nusing namespace std;  \nclass func  \n{  \npublic:  \nint operator()(int a, int b)         \t \n{  \nreturn a\/b;  \n}  \n};  \nint main()  \n{  \nfunc fun;            \t \nint res = fun(10,5);  \ncout&lt;&lt;res;  \nreturn 0;  \n}\n<\/pre>\n<p><strong>Output:-<\/strong><br \/>\n2<\/p>\n<p>In the above, fun is an object of the func class which defines an operator() function. So, you can use the fun object as a function to call the operator() function.<\/p>\n<p><strong>Example:- vector container<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">#include &lt;iostream&gt;\n#include &lt;vector&gt;\nusing namespace std;\nint main() {\nvector&lt;int&gt; v;\nint x;\ncout &lt;&lt; \"Size of vector: \" &lt;&lt; v.size() &lt;&lt; endl;\nfor(x = 0; x &lt; 2; x++) {\n  \tv.push_back(x);\n}\ncout &lt;&lt; \"Size extended: \" &lt;&lt; v.size() &lt;&lt; endl;\nfor(x = 0; x &lt; 2; x++) {\n  \tcout &lt;&lt; \"value of v[\"&lt;&lt;x&lt;&lt;\"]: \" &lt;&lt; v[x] &lt;&lt; endl;\n   }\nvector&lt;int&gt;::iterator ve = v.begin();\nwhile( ve != v.end()) {\ncout &lt;&lt; \"value: \" &lt;&lt; *ve &lt;&lt; endl;\nve++;\n}\nreturn 0;\n}\n<\/pre>\n<p><strong>Output:-<\/strong><br \/>\nSize of vector: 0<br \/>\nSize extended: 2<br \/>\nvalue of v[0]: 0<br \/>\nvalue of v[1]: 1<br \/>\nvalue: 0<br \/>\nvalue: 1<\/p>\n<h3>Summary<\/h3>\n<p>In this tutorial, we discussed the C++ STL and its various components. We discussed why you should use function objects over normal functions. We also discussed various categories of iterators.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The C++ programming language offers various functionalities and features to the developers. It also supports object-oriented programming. In this tutorial, we are going to learn about the standard template libraries of C++. It is&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":85167,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3405],"tags":[4375,4376],"class_list":["post-85023","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cpp","tag-c-stl","tag-components-of-stl"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>C++ STL - TechVidvan<\/title>\n<meta name=\"description\" content=\"Learn what is STL in C++ and its components like Containers, Algorithms, Function objects and Iterators with their features and uses.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/techvidvan.com\/tutorials\/cpp-stl\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C++ STL - TechVidvan\" \/>\n<meta property=\"og:description\" content=\"Learn what is STL in C++ and its components like Containers, Algorithms, Function objects and Iterators with their features and uses.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/techvidvan.com\/tutorials\/cpp-stl\/\" \/>\n<meta property=\"og:site_name\" content=\"TechVidvan\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/TechVidvan\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-09-28T03:30:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/09\/c-stl.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"TechVidvan Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@vidvantech\" \/>\n<meta name=\"twitter:site\" content=\"@vidvantech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"TechVidvan Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"C++ STL - TechVidvan","description":"Learn what is STL in C++ and its components like Containers, Algorithms, Function objects and Iterators with their features and uses.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/techvidvan.com\/tutorials\/cpp-stl\/","og_locale":"en_US","og_type":"article","og_title":"C++ STL - TechVidvan","og_description":"Learn what is STL in C++ and its components like Containers, Algorithms, Function objects and Iterators with their features and uses.","og_url":"https:\/\/techvidvan.com\/tutorials\/cpp-stl\/","og_site_name":"TechVidvan","article_publisher":"https:\/\/www.facebook.com\/TechVidvan\/","article_published_time":"2021-09-28T03:30:41+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/09\/c-stl.jpg","type":"image\/jpeg"}],"author":"TechVidvan Team","twitter_card":"summary_large_image","twitter_creator":"@vidvantech","twitter_site":"@vidvantech","twitter_misc":{"Written by":"TechVidvan Team","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/techvidvan.com\/tutorials\/cpp-stl\/#article","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/cpp-stl\/"},"author":{"name":"TechVidvan Team","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22"},"headline":"C++ STL","datePublished":"2021-09-28T03:30:41+00:00","mainEntityOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/cpp-stl\/"},"wordCount":955,"commentCount":0,"publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/cpp-stl\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/09\/c-stl.jpg","keywords":["C++ STL","Components of STL"],"articleSection":["C++ Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/techvidvan.com\/tutorials\/cpp-stl\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/techvidvan.com\/tutorials\/cpp-stl\/","url":"https:\/\/techvidvan.com\/tutorials\/cpp-stl\/","name":"C++ STL - TechVidvan","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/#website"},"primaryImageOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/cpp-stl\/#primaryimage"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/cpp-stl\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/09\/c-stl.jpg","datePublished":"2021-09-28T03:30:41+00:00","description":"Learn what is STL in C++ and its components like Containers, Algorithms, Function objects and Iterators with their features and uses.","breadcrumb":{"@id":"https:\/\/techvidvan.com\/tutorials\/cpp-stl\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/techvidvan.com\/tutorials\/cpp-stl\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/cpp-stl\/#primaryimage","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/09\/c-stl.jpg","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/09\/c-stl.jpg","width":1200,"height":628,"caption":"c++-stl"},{"@type":"BreadcrumbList","@id":"https:\/\/techvidvan.com\/tutorials\/cpp-stl\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/techvidvan.com\/tutorials\/"},{"@type":"ListItem","position":2,"name":"C++ STL"}]},{"@type":"WebSite","@id":"https:\/\/techvidvan.com\/tutorials\/#website","url":"https:\/\/techvidvan.com\/tutorials\/","name":"TechVidvan Blogs","description":"","publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/techvidvan.com\/tutorials\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/techvidvan.com\/tutorials\/#organization","name":"TechVidvan","url":"https:\/\/techvidvan.com\/tutorials\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/logo\/image\/","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2024\/03\/techvidvan-logo-200x50-1.webp","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2024\/03\/techvidvan-logo-200x50-1.webp","width":200,"height":50,"caption":"TechVidvan"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/TechVidvan\/","https:\/\/x.com\/vidvantech"]},{"@type":"Person","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22","name":"TechVidvan Team","description":"The TechVidvan Team delivers practical, beginner-friendly tutorials on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our experts are here to help you upskill and excel in today\u2019s tech industry."}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/85023","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/comments?post=85023"}],"version-history":[{"count":0,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/85023\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media\/85167"}],"wp:attachment":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media?parent=85023"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/categories?post=85023"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/tags?post=85023"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}