小编Ale*_*son的帖子

是否有其他常见的"c-like"或非"c-like"语言具有非零索引数组位置?

C编程语言被称为零索引数组语言.使用可访问数组中的第一项0.例如double arr[2] = {1.5,2.5},数组中的第一项arr位于位置0. arr[0] === 1.5哪些编程语言是基于1的索引?

我听说这些语言从1开始而不是0开始用于数组访问:Algol,Matlab,Action !, Pascal,Fortran,Cobol.这完整吗?

具体而言,基于1的阵列将访问具有1的第一项,而不是零.

arrays indexing programming-languages

75
推荐指数
9
解决办法
5万
查看次数

我可以从现在开始变量_const吗?

我正在使用一个具有init与其构造函数不同的函数的类的库.每次我创建一个新实例时我都需要调用,例如:

MyClass a;
a.init();
Run Code Online (Sandbox Code Playgroud)

既然init不是const,这就阻止了我创建const实例(我无法写const MyClass a).有没有办法调用init然后从"here out out"声明(我猜对于范围的其余部分)我的变量是const

这有效,但依赖于不触及原始变量:

MyClass dont_touch;
dont_touch.init();
const MyClass & a = dont_touch;
Run Code Online (Sandbox Code Playgroud)

c++ constructor const reference

20
推荐指数
3
解决办法
587
查看次数

如何逃脱加号mac os x(BSD)sed?

我正在尝试使用来自BSD通用命令的sed在mac上查找和替换一个或多个字符的出现.

我尝试:

echo "foobar" | sed -e "s/o+//g
Run Code Online (Sandbox Code Playgroud)

期待看到:

fbar
Run Code Online (Sandbox Code Playgroud)

但相反,我明白了

foobar
Run Code Online (Sandbox Code Playgroud)

我当然可以手动扩展加号:

echo "foobar" | sed -e "s/oo*//g"
Run Code Online (Sandbox Code Playgroud)

但是我需要做些什么才能使加号工作?

regex macos bash grep sed

17
推荐指数
1
解决办法
7341
查看次数

我需要在html <pre>标记内转义什么

<pre>在我的博客中使用标签来发布代码.我知道我必须要改变<&lt;>&gt;.我需要转义任何其他字符才能获得正确的HTML吗?

html html-encode

16
推荐指数
2
解决办法
2万
查看次数

_(单个下划线)是一个有效的C++变量名吗?

使用gcc 4.7.2这对我来说很好:

int main()
{
  int _ = 1;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我可以期待这个编译吗?我已经阅读了关于下划线作为前缀答案.但是,如果下划线不是前缀任何东西呢?

c++ standards variable-names

14
推荐指数
3
解决办法
3770
查看次数

防止缓存的iPhone webapp重新加载(滚动到顶部)

我有一个iPhone webapp使用缓存清单脱机工作.我将webapp添加到我的主屏幕,使用它(例如滚动到页面上的某个位置),然后返回主屏幕.当我再次打开应用程序时,我会看到我曾经在那里(在该页面上的滚动位置),但随后应用程序"重新加载",我滚动到主页的顶部.有没有办法防止这种"重装"?即使在飞行模式下也会发生这种情况(即一切都在缓存中).

iphone scroll caching web-applications reload

11
推荐指数
1
解决办法
2903
查看次数

ATI显卡上GLSL着色器的顶点均匀组件的实际数量是多少?

我正在为带有AMD Radeon HD 6970M 2048 MB显卡的iMac编写GLSL顶点着色器:

GL_MAX_VERTEX_ATTRIBS: 16
GL_MAX_VERTEX_UNIFORM_COMPONENTS: 4096
GL_VERSION: 2.1 ATI-7.12.9
GL_SHADING_LANGUAGE_VERSION: 1.20
Run Code Online (Sandbox Code Playgroud)

在我的着色器中,我想要一大堆均匀的mat4s:

uniform mat4 T[65]
Run Code Online (Sandbox Code Playgroud)

但如果我尝试将65个这样的着色器(秘密地)切换到Apple Software Renderer模式.如果我改为使用64:

uniform mat4 T[64]
Run Code Online (Sandbox Code Playgroud)

一切都好.

似乎是超过最大制服数量的问题.但正如我上面写的那样,GL_MAX_VERTEX_UNIFORM_COMPONENTS为4096 /(4*4)= 256而不是64 ...

OpenGL.org维基

ATI/AMD注意:ATI最大组件值是错误的.它们是实际的组件数除以4.

但是读到这个我会认为如果我查询GL_MAX_VERTEX_UNIFORM_COMPONENTS并得到4096,那我实际上有16,384.似乎是这样的情况是GL_MAX_VERTEX_UNIFORM_COMPONENTS返回实际的组件数乘以 4.这将得到1024 /(4*4)= 64.

谁能证实这一点?

编辑: 我的着色器很简单:

#version 120

// 65 goes into software render mode
#define MAX_T 64
attribute vec4 indices;
uniform mat4 T[MAX_T];

void main()
{
  gl_Position =  T[int(indices[0])]*gl_Vertex;
}
Run Code Online (Sandbox Code Playgroud)

opengl shader glsl ati

11
推荐指数
1
解决办法
4228
查看次数

是否有任何程序使用.DS_Store(或类似)用于有用的东西?

有很多关于如何在mac上排除,忽略或删除.DS_Store文件的讨论.看起来这些小文件包含有关Finder使用的文件夹的数据:http : //en.wikipedia.org/wiki/.DS_Store https://wiki.mozilla.org/DS_Store_File_Format

这些信息是否曾被第三方程序使用?

macos finder

8
推荐指数
1
解决办法
972
查看次数

哪些浏览器不支持GIF动画?

看起来所有主流浏览器(即firefox,safari,chrome)都支持GIF动画.虽然我一直在读IE,但可能不忠实于高帧率.谁不支持动画GIF?Iphone safari似乎很好.其他移动浏览器怎么样?

browser cross-browser gif animated-gif

8
推荐指数
1
解决办法
2万
查看次数

如何在没有VAO的情况下使用VBO和OpenGL核心配置文件?

我在使用顶点缓冲区对象时遇到了麻烦,而没有使用顶点数组对象.

我的理解是VAO只是封装了VBO周围的状态.但是,如果没有VAO,VBO不应该可用吗?

这是一个小例子.有了use_vao=true这个工作正常(橙色呈现矩形).有了use_vao=false这使它什么,并生成GL_INVALID_OPERATION时的错误glDrawElements.

// make sure the modern opengl headers are included before any others
#include <OpenGL/gl3.h>
#define __gl_h_
#include <GLUT/glut.h>
#include <string>
#include <cassert>

// For rendering a full-viewport quad, set tex-coord from position
std::string tex_v_shader = R"(
#version 330 core
in vec3 position;
void main()
{
  gl_Position = vec4(position,1.);
}
)";
// Render directly from color or depth texture
std::string tex_f_shader = R"(
#version 330 core
out vec4 …
Run Code Online (Sandbox Code Playgroud)

c++ opengl opengl-3 opengl-4

8
推荐指数
2
解决办法
3094
查看次数