现在位置: 首页 > 算法 > 文章
2020年01月15日 算法 ⁄ 共 1785字 评论关闭
  get和post在面试过程中一般都会问到,一般的区别:   1.post更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中)   2.post发送的数据量更大(get有url长度限制)   3.post能发送更多的数据类型(get只能发送ASCII字符)   4.post比get慢   我相信不止一个人跟我一样有这种疑惑,既然post有这么多优点,那我们为什么要使用get?甚至有个同事说,咱们封装一个ajax底层,直接不用get算了……...
阅读全文
2020年01月15日 算法 ⁄ 共 2205字 评论关闭
  GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。   你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。   当你在面试中被问到这个问题,你的内心充满了自信和喜悦。   GET和POST的区别   GET在浏览器回退时是无害的,而POST会再次提交...
阅读全文
2020年01月15日 算法 ⁄ 共 1359字 评论关闭
  由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一...
阅读全文
2020年01月15日 算法 ⁄ 共 2006字 评论关闭
  引用   在c语言中函数传参有2种方式,即传值和传址:   1.传值   void Swap(int left, int right)   {   int temp = left;   left = right;   right = temp;   }   传值:在函数调用过程中会生成一份临时变量,最终把实参的值传递给新   分配的临时变量即形参   优点:避免了函数调用的副作用   缺点:无法改变形参的值   如果想通过形参改变实参的值,只能通过指针传递   2.传址   void Swa...
阅读全文
2020年01月15日 算法 ⁄ 共 1791字 评论关闭
  为什么会存在函数重载?有时候需要根据不同的数据类型调用不同名的函数,如果这种情况比较多的话,对于写程序的人来说,要分别编写功能相同而名字不同的函数,是很不方便的。所以在c++中引入了函数重载。   那什么又是函数重载呢?   函数重载是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数、类型、顺序)必须不同,常用来处理实现功能类似数据类型不同的问题...
阅读全文
2020年01月15日 算法 ⁄ 共 399字 评论关闭
  为了能够更加清晰的了解C++函数模版与重载的区别,先来看一个例子:   #include < iostream>   using namespace std ;   //C++函数模版两种定义方式   //template < typename T> 或 template   template   T1 check_max(T1 x, T1 y);   template   T print_value(T x, T y);   //C++重载   int add(int x,int y);   int add(int x,int y,int z);   string add(string str , string str1 , string s...
阅读全文
2020年01月15日 算法 ⁄ 共 1835字 评论关闭
  C语言有参函数调用时参数间数据传递问题   C语言中在发生有参函数调用时,实参变量与形参变量之间的数据都是单向的“值传递”方式。包括指针变量和数组名作参数的情况。   C语言要求函数的实参要有确定的值,在函数调用时给形参分配相应的内存单元,同时将实参的“值”赋(复制)给形参,实现数据从实参到形参的传递(‘值传递’方式)。因为是复制,所以在操作副本(形参)过程中不会影响到原本(实参)内容。   首先,作为函数实...
阅读全文
2020年01月15日 算法 ⁄ 共 1983字 评论关闭
  LLVM 是 Low Level Virtual Machine 的简称,这个库提供了与编译器相关的支持,能够进行程序语言的编译期优化、链接优化、在线编译优化、代码生成。目前已经可以作为c、c++、object-c、rust、swift等语言的后端。   Clang 是一个 C++ 编写、基于 LLVM、发布于 LLVM BSD 许可证下的 C/C++/Objective C/Objective C++编译器前端。   Apple 使用 LLVM 在不支持全部 OpenGL 特性的 GPU (Intel 低端显卡) 上生成代码 (JIT),...
阅读全文
2020年01月15日 算法 ⁄ 共 4541字 评论关闭
  首先为什么需要扩展?python调用C++的库也是可行的啊。刚开始我也在思考这个问题,觉得没有必要。但是后来深入了解了以后发现还是有必要的。举个栗子,调用始终是使用的是别人的东西,但是扩展则是通过他人的帮助来完成一个属于自己的东西。   pytorch的C++ extension和python的c/c++ extension其实原理差不多,本质上都是为了扩展各自的功能,当然也为了使程序运行更加有效率,差别在于pytorch的C++ extension实施步骤较p...
阅读全文
2020年01月15日 算法 ⁄ 共 2008字 评论关闭
  代码分区:在使用C/C++编程时,我们定义的变量存在于内存中,而内存在C语言的角度上可以分为五大区。局部变量在栈区,静态/全局变量在全局区,动态申请的变量存在于堆区,const修饰的变量/字符常量存在于只读区。无论是什么样的变量,终究在内存中。   CPU取指,译码,执行:存在于内存中的目的是为了CPU通过总线的进行寻址,取指令,译码,执行取数据,内存与寄存器交互,然后CPU运算,再输出数据至内存。这个过程反复的...
阅读全文