当前位置: 首页>>代码示例>>C++>>正文


C++ MyList::insert方法代码示例

本文整理汇总了C++中MyList::insert方法的典型用法代码示例。如果您正苦于以下问题:C++ MyList::insert方法的具体用法?C++ MyList::insert怎么用?C++ MyList::insert使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在MyList的用法示例。


在下文中一共展示了MyList::insert方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: main

int main ()
{
   //We will create a buffer of 1000 bytes to store a list
   managed_heap_memory heap_memory(1000);

   MyList * mylist = heap_memory.construct<MyList>("MyList")
                        (heap_memory.get_segment_manager());

   //Obtain handle, that identifies the list in the buffer
   managed_heap_memory::handle_t list_handle = heap_memory.get_handle_from_address(mylist);

   //Fill list until there is no more memory in the buffer
   try{
      while(1) {
         mylist->insert(mylist->begin(), 0);
      }
   }
   catch(const bad_alloc &){
      //memory is full
   }
   //Let's obtain the size of the list
   MyList::size_type old_size = mylist->size();
   //<-
   (void)old_size;
   //->

   //To make the list bigger, let's increase the heap buffer
   //in 1000 bytes more.
   heap_memory.grow(1000);

   //If memory has been reallocated, the old pointer is invalid, so
   //use previously obtained handle to find the new pointer.
   mylist = static_cast<MyList *>
               (heap_memory.get_address_from_handle(list_handle));

   //Fill list until there is no more memory in the buffer
   try{
      while(1) {
         mylist->insert(mylist->begin(), 0);
      }
   }
   catch(const bad_alloc &){
      //memory is full
   }

   //Let's obtain the new size of the list
   MyList::size_type new_size = mylist->size();
   //<-
   (void)new_size;
   //->

   assert(new_size > old_size);

   //Destroy list
   heap_memory.destroy_ptr(mylist);

   return 0;
}
开发者ID:Ding8222,项目名称:abelkhan,代码行数:58,代码来源:doc_managed_heap_memory.cpp

示例2: main

int main()
{
	MyList<int> list;
	
	list.insert(1);
	list.insert(2);
	list.insert(3);
	list.insert(4);
	list.insert(5);
	list.insert(6);
	list.insert(7);
	list.insert(8);
	list.traverse(print_int);
	cout << endl;

	cout << "reverse list..." << endl;
	//list.reverse();
	list.traverse(print_int);
	cout << endl;
}
开发者ID:pennymaxlw,项目名称:Algorithms_and_Data_Structures,代码行数:20,代码来源:clrs_exe10.2.7.cpp

示例3: main

int main() {
	MyList<int> ml;
	int choose;
	int pos, entry;
	while (1) {
		cout << "1.insert  2.remove  3. replace  4.size  5.empty  6.retrive  7.display" << endl;
		cin >> choose;
		switch (choose) {
		case 1:
			cin >> pos >> entry;
			ml.insert(pos, entry);
			break;
		case 2:
			cin >> pos;
			ml.remove(pos, entry);
			cout << entry << endl;
			break;
		case 3:
			cin >> pos >> entry;
			ml.replace(pos, entry);
			break;
		case 4:
			cout << ml.size() << endl;
			break;
		case 5:
			cout << ml.empty() << endl;
			break;
		case 6:
			cin >> pos;
			ml.retrieve(pos, entry);
			cout << entry << endl;
			break;
		case 7:
			ml.display();
		}
	}
}
开发者ID:SplendidSky,项目名称:Visual-Studio-2015,代码行数:37,代码来源:源.cpp

示例4: main

int main ()
{
   const char *FileName       = "file_mapping";
   const std::size_t FileSize = 1000;
   file_mapping::remove(FileName);
   try{
      std::size_t old_size = 0;
      managed_mapped_file::handle_t list_handle;
      {
         managed_mapped_file mfile_memory(create_only, FileName, FileSize);
         MyList *mylist = mfile_memory.construct<MyList>("MyList")
                              (mfile_memory.get_segment_manager());

         //Obtain handle, that identifies the list in the buffer
         list_handle = mfile_memory.get_handle_from_address(mylist);

         //Fill list until there is no more room in the file
         try{
            while(1) {
               mylist->insert(mylist->begin(), 0);
            }
         }
         catch(const bad_alloc &){
            //mapped file is full
         }
         //Let's obtain the size of the list
         old_size = mylist->size();
      }
      //To make the list bigger, let's increase the mapped file
      //in FileSize bytes more.
      managed_mapped_file::grow(FileName, FileSize*2);

      {
         managed_mapped_file mfile_memory(open_only, FileName);


         //If mapping address has changed, the old pointer is invalid,
         //so use previously obtained handle to find the new pointer.
         MyList *mylist = static_cast<MyList *>
                           (mfile_memory.get_address_from_handle(list_handle));
         
         //Fill list until there is no more room in the file
         try{
            while(1) {
               mylist->insert(mylist->begin(), 0);
            }
         }
         catch(const bad_alloc &){
            //mapped file is full
         }

         //Let's obtain the new size of the list      
         std::size_t new_size = mylist->size();

         assert(new_size > old_size);

         //Destroy list
         mfile_memory.destroy_ptr(mylist);
      }
   }
   catch(...){
      file_mapping::remove(FileName);
      throw;
   }
   file_mapping::remove(FileName);
   return 0;
}
开发者ID:coxlab,项目名称:boost_patched_for_objcplusplus,代码行数:67,代码来源:doc_managed_mapped_file.cpp


注:本文中的MyList::insert方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。